0s autopkgtest [21:32:05]: starting date and time: 2024-05-10 21:32:05+0000 0s autopkgtest [21:32:05]: git checkout: 699e7f9f ssh-setup/nova: explicitely set 'fqdn' in cloud-init 0s autopkgtest [21:32:05]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.4ruyq1p7/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruamel.yaml,src:monty,src:ruamel.yaml.clib --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=ruamel.yaml/0.18.6+ds-3 monty/2024.4.17-1 ruamel.yaml.clib/0.2.8+ds-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos01-s390x-10.secgroup --name adt-oracular-s390x-translate-toolkit-20240510-213205-juju-7f2275-prod-proposed-migration-environment-2-07a1946a-1d7e-4929-85d9-a1b2048b762d --image adt/ubuntu-oracular-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://us.ports.ubuntu.com/ubuntu-ports/ 282s autopkgtest [21:36:47]: testbed dpkg architecture: s390x 282s autopkgtest [21:36:47]: testbed apt version: 2.7.14build2 282s autopkgtest [21:36:47]: @@@@@@@@@@@@@@@@@@@@ test bed setup 283s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 283s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [118 kB] 283s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1181 kB] 283s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 283s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [16.8 kB] 283s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [192 kB] 284s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [982 kB] 284s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [19.2 kB] 284s Fetched 2584 kB in 1s (2073 kB/s) 284s Reading package lists... 287s Reading package lists... 287s Building dependency tree... 287s Reading state information... 287s Calculating upgrade... 287s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 287s Reading package lists... 288s Building dependency tree... 288s Reading state information... 288s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 288s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 288s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 288s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 289s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 290s Reading package lists... 290s Reading package lists... 290s Building dependency tree... 290s Reading state information... 290s Calculating upgrade... 290s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 290s Reading package lists... 291s Building dependency tree... 291s Reading state information... 291s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 294s autopkgtest [21:36:59]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:14:26 UTC 2024 294s autopkgtest [21:36:59]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 297s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 297s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 297s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 297s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 297s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 297s gpgv: Can't check signature: No public key 297s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 298s autopkgtest [21:37:03]: testing package translate-toolkit version 3.12.2-1ubuntu1 298s autopkgtest [21:37:03]: build not needed 299s autopkgtest [21:37:04]: test translate-toolkit: preparing testbed 300s Reading package lists... 300s Building dependency tree... 300s Reading state information... 300s Starting pkgProblemResolver with broken count: 0 300s Starting 2 pkgProblemResolver with broken count: 0 300s Done 301s The following additional packages will be installed: 301s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 301s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 301s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 301s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 301s python3-diff-match-patch python3-enchant python3-iniparse 301s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 301s python3-phply python3-ply python3-pycountry python3-rapidfuzz 301s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 301s python3-soupsieve python3-translate python3-vobject python3-xapian 301s subversion translate-toolkit 301s Suggested packages: 301s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 301s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 301s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 301s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 301s libapache2-mod-svn subversion-tools 301s Recommended packages: 301s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 301s python3-cssselect python3-html5lib translate-toolkit-doc 301s The following NEW packages will be installed: 301s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 301s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 301s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 301s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 301s python3-diff-match-patch python3-enchant python3-iniparse 301s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 301s python3-phply python3-ply python3-pycountry python3-rapidfuzz 301s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 301s python3-soupsieve python3-translate python3-vobject python3-xapian 301s subversion translate-toolkit 301s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 301s Need to get 10.9 MB/10.9 MB of archives. 301s After this operation, 46.2 MB of additional disk space will be used. 301s Get:1 /tmp/autopkgtest.gxjW8w/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [868 B] 301s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 301s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 301s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14-20240412-0ubuntu1 [151 kB] 301s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.21-14ubuntu2 [915 kB] 301s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 301s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.1build2 [115 kB] 301s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-1.1ubuntu7 [99.6 kB] 301s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 301s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 301s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 301s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 301s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-1build2 [50.7 kB] 302s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 302s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-1build4 [1391 kB] 302s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 302s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 302s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.11-2 [221 kB] 302s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 302s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 302s Get:21 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 302s Get:22 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 302s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 302s Get:24 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 302s Get:25 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 302s Get:26 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.6.2+ds-1 [1498 kB] 302s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-2 [188 kB] 302s Get:28 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.1-1 [1300 kB] 302s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 302s Get:30 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 302s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 302s Get:32 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x python3-ruamel.yaml.clib s390x 0.2.8+ds-1 [140 kB] 302s Get:33 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 302s Get:34 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 302s Get:35 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.12.2-1ubuntu1 [318 kB] 302s Get:36 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 302s Get:37 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-xapian s390x 1.4.22-1build5 [366 kB] 302s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-1build4 [912 kB] 302s Get:39 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 302s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 302s Get:41 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 302s Preconfiguring packages ... 303s Fetched 10.9 MB in 1s (9168 kB/s) 303s Selecting previously unselected package emacsen-common. 303s (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 ... 54494 files and directories currently installed.) 303s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 303s Unpacking emacsen-common (3.0.5) ... 303s Selecting previously unselected package dictionaries-common. 303s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 303s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 303s Unpacking dictionaries-common (1.29.7) ... 303s Selecting previously unselected package libgomp1:s390x. 303s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_s390x.deb ... 303s Unpacking libgomp1:s390x (14-20240412-0ubuntu1) ... 303s Selecting previously unselected package gettext. 303s Preparing to unpack .../03-gettext_0.21-14ubuntu2_s390x.deb ... 303s Unpacking gettext (0.21-14ubuntu2) ... 303s Selecting previously unselected package hunspell-en-us. 303s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 303s Unpacking hunspell-en-us (1:2020.12.07-2) ... 303s Selecting previously unselected package libapr1t64:s390x. 303s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_s390x.deb ... 303s Unpacking libapr1t64:s390x (1.7.2-3.1build2) ... 303s Selecting previously unselected package libaprutil1t64:s390x. 303s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_s390x.deb ... 303s Unpacking libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 303s Selecting previously unselected package libaspell15:s390x. 303s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 303s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 303s Selecting previously unselected package libhunspell-1.7-0:s390x. 303s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 303s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 303s Selecting previously unselected package libenchant-2-2:s390x. 303s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 303s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 303s Selecting previously unselected package libexttextcat-data. 303s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 303s Unpacking libexttextcat-data (3.4.7-1build1) ... 303s Selecting previously unselected package libserf-1-1:s390x. 303s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_s390x.deb ... 303s Unpacking libserf-1-1:s390x (1.3.10-1build2) ... 303s Selecting previously unselected package libutf8proc3:s390x. 303s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 303s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 303s Selecting previously unselected package libsvn1:s390x. 303s Preparing to unpack .../13-libsvn1_1.14.3-1build4_s390x.deb ... 303s Unpacking libsvn1:s390x (1.14.3-1build4) ... 303s Selecting previously unselected package libxapian30:s390x. 303s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 303s Unpacking libxapian30:s390x (1.4.22-1build1) ... 303s Selecting previously unselected package libxslt1.1:s390x. 303s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 303s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 303s Selecting previously unselected package python3-aeidon. 303s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 303s Unpacking python3-aeidon (1.11-2) ... 303s Selecting previously unselected package python3-soupsieve. 303s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 303s Unpacking python3-soupsieve (2.5-1) ... 303s Selecting previously unselected package python3-bs4. 303s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 303s Unpacking python3-bs4 (4.12.3-1) ... 303s Selecting previously unselected package python3-jaraco.functools. 303s Preparing to unpack .../19-python3-jaraco.functools_4.0.0-1_all.deb ... 303s Unpacking python3-jaraco.functools (4.0.0-1) ... 303s Selecting previously unselected package python3-cheroot. 303s Preparing to unpack .../20-python3-cheroot_10.0.0+ds1-2_all.deb ... 303s Unpacking python3-cheroot (10.0.0+ds1-2) ... 303s Selecting previously unselected package python3-dateutil. 303s Preparing to unpack .../21-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 303s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 303s Selecting previously unselected package python3-diff-match-patch. 303s Preparing to unpack .../22-python3-diff-match-patch_20230430-1_all.deb ... 303s Unpacking python3-diff-match-patch (20230430-1) ... 303s Selecting previously unselected package python3-enchant. 303s Preparing to unpack .../23-python3-enchant_3.2.2-1_all.deb ... 303s Unpacking python3-enchant (3.2.2-1) ... 303s Selecting previously unselected package python3-rapidfuzz. 303s Preparing to unpack .../24-python3-rapidfuzz_3.6.2+ds-1_s390x.deb ... 303s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 304s Selecting previously unselected package python3-levenshtein. 304s Preparing to unpack .../25-python3-levenshtein_0.25.1-2_s390x.deb ... 304s Unpacking python3-levenshtein (0.25.1-2) ... 304s Selecting previously unselected package python3-lxml:s390x. 304s Preparing to unpack .../26-python3-lxml_5.2.1-1_s390x.deb ... 304s Unpacking python3-lxml:s390x (5.2.1-1) ... 304s Selecting previously unselected package python3-mistletoe. 304s Preparing to unpack .../27-python3-mistletoe_1.3.0-1_all.deb ... 304s Unpacking python3-mistletoe (1.3.0-1) ... 304s Selecting previously unselected package python3-ply. 304s Preparing to unpack .../28-python3-ply_3.11-6_all.deb ... 304s Unpacking python3-ply (3.11-6) ... 304s Selecting previously unselected package python3-phply. 304s Preparing to unpack .../29-python3-phply_1.2.6-1_all.deb ... 304s Unpacking python3-phply (1.2.6-1) ... 304s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 304s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.8+ds-1_s390x.deb ... 304s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8+ds-1) ... 304s Selecting previously unselected package python3-ruamel.yaml. 304s Preparing to unpack .../31-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 304s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 304s Selecting previously unselected package python3-simplejson. 304s Preparing to unpack .../32-python3-simplejson_3.19.2-1build2_s390x.deb ... 304s Unpacking python3-simplejson (3.19.2-1build2) ... 304s Selecting previously unselected package python3-translate. 304s Preparing to unpack .../33-python3-translate_3.12.2-1ubuntu1_all.deb ... 304s Unpacking python3-translate (3.12.2-1ubuntu1) ... 304s Selecting previously unselected package python3-vobject. 304s Preparing to unpack .../34-python3-vobject_0.9.6.1-2_all.deb ... 304s Unpacking python3-vobject (0.9.6.1-2) ... 304s Selecting previously unselected package python3-xapian. 304s Preparing to unpack .../35-python3-xapian_1.4.22-1build5_s390x.deb ... 304s Unpacking python3-xapian (1.4.22-1build5) ... 304s Selecting previously unselected package subversion. 304s Preparing to unpack .../36-subversion_1.14.3-1build4_s390x.deb ... 304s Unpacking subversion (1.14.3-1build4) ... 304s Selecting previously unselected package translate-toolkit. 304s Preparing to unpack .../37-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 304s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 304s Selecting previously unselected package python3-iniparse. 304s Preparing to unpack .../38-python3-iniparse_0.5-2_all.deb ... 304s Unpacking python3-iniparse (0.5-2) ... 304s Selecting previously unselected package python3-pycountry. 304s Preparing to unpack .../39-python3-pycountry_23.12.11+ds1-2_all.deb ... 304s Unpacking python3-pycountry (23.12.11+ds1-2) ... 304s Selecting previously unselected package autopkgtest-satdep. 304s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 304s Unpacking autopkgtest-satdep (0) ... 305s Setting up libxapian30:s390x (1.4.22-1build1) ... 305s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 305s Setting up python3-diff-match-patch (20230430-1) ... 305s Setting up python3-jaraco.functools (4.0.0-1) ... 305s Setting up python3-aeidon (1.11-2) ... 306s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 306s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 306s Setting up python3-ply (3.11-6) ... 306s Setting up python3-ruamel.yaml.clib:s390x (0.2.8+ds-1) ... 306s Setting up libgomp1:s390x (14-20240412-0ubuntu1) ... 306s Setting up python3-simplejson (3.19.2-1build2) ... 306s Setting up emacsen-common (3.0.5) ... 306s Setting up python3-cheroot (10.0.0+ds1-2) ... 306s Setting up python3-pycountry (23.12.11+ds1-2) ... 307s Setting up python3-xapian (1.4.22-1build5) ... 307s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 307s Setting up python3-mistletoe (1.3.0-1) ... 307s Setting up libexttextcat-data (3.4.7-1build1) ... 307s Setting up libapr1t64:s390x (1.7.2-3.1build2) ... 307s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 307s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 308s Setting up python3-levenshtein (0.25.1-2) ... 308s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 308s Setting up python3-soupsieve (2.5-1) ... 308s Setting up python3-iniparse (0.5-2) ... 308s Setting up libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 308s Setting up python3-vobject (0.9.6.1-2) ... 308s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 308s patterns['name'] = '[a-zA-Z0-9\-_]+' 308s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 308s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 308s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 308s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 308s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 308s """ 308s Setting up gettext (0.21-14ubuntu2) ... 308s Setting up python3-phply (1.2.6-1) ... 309s Setting up dictionaries-common (1.29.7) ... 309s Setting up libserf-1-1:s390x (1.3.10-1build2) ... 309s Setting up python3-bs4 (4.12.3-1) ... 310s Setting up python3-lxml:s390x (5.2.1-1) ... 310s Setting up hunspell-en-us (1:2020.12.07-2) ... 310s Setting up libsvn1:s390x (1.14.3-1build4) ... 310s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 310s Setting up subversion (1.14.3-1build4) ... 310s Setting up python3-enchant (3.2.2-1) ... 310s Setting up python3-translate (3.12.2-1ubuntu1) ... 311s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 311s Setting up autopkgtest-satdep (0) ... 311s Processing triggers for man-db (2.12.0-4build2) ... 312s Processing triggers for install-info (7.1-3build2) ... 312s Processing triggers for libc-bin (2.39-0ubuntu8) ... 312s Processing triggers for dictionaries-common (1.29.7) ... 315s (Reading database ... 57924 files and directories currently installed.) 315s Removing autopkgtest-satdep (0) ... 316s autopkgtest [21:37:21]: test translate-toolkit: [----------------------- 316s ========= SMOKE TEST: /usr/bin/android2po =========== 316s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 316s 316s Convert Android string files to Gettext PO localization files. See: 316s http://docs.translatehouse.org/projects/translate- 316s toolkit/en/latest/commands/android2po.html for examples and usage 316s instructions. 316s 316s Options: 316s --version show program's version number and exit 316s -h, --help show this help message and exit 316s --manpage output a manpage based on the help 316s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 316s --errorlevel=ERRORLEVEL 316s show errorlevel as: none, message, exception, 316s traceback 316s -i INPUT, --input=INPUT 316s read from INPUT in xml format 316s -x EXCLUDE, --exclude=EXCLUDE 316s exclude names matching EXCLUDE from input paths 316s -o OUTPUT, --output=OUTPUT 316s write to OUTPUT in po, pot formats 316s -t TEMPLATE, --template=TEMPLATE 316s read from TEMPLATE in xml format 316s -S, --timestamp skip conversion if the output file has newer timestamp 316s --duplicates=DUPLICATESTYLE 316s what to do with duplicate strings (identical source 316s text): merge, msgctxt (default: 'msgctxt') 316s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 316s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 316s input files [input files ...] 316s 316s positional arguments: 316s input files 316s 316s options: 316s -h, --help show this help message and exit 316s -d TMDB_FILE, --tmdb TMDB_FILE 316s translation memory database file (default: tm.db) 316s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 316s source language of translation files (default: en) 316s -t TARGET_LANG, --import-target-lang TARGET_LANG 316s target language of translation files 316s ========= SMOKE TEST: /usr/bin/buildxpi =========== 316s usage: Usage: buildxpi.py [] [ ...] 316s 316s positional arguments: 316s langs 316s 316s options: 316s -h, --help show this help message and exit 316s -L L10NBASE, --l10n-base L10NBASE 316s The directory containing the subdirectory. 316s -o OUTPUTDIR, --output-dir OUTPUTDIR 316s The directory to copy the built XPI to (default: 316s current directory). 316s -p MOZPRODUCT, --mozproduct MOZPRODUCT 316s The Mozilla product name (default: "browser"). 316s -s SRCDIR, --src SRCDIR 316s The directory containing the Mozilla l10n sources. 316s -d, --delete-dest Delete output XPI if it already exists. 316s -v, --verbose Be more noisy 316s --soft-max-version Override a fixed max version with one to cover the 316s whole cycle e.g. 24.0a1 becomes 24.0.* 316s ========= SMOKE TEST: /usr/bin/csv2po =========== 317s 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] 317s 317s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 317s See: http://docs.translatehouse.org/projects/translate- 317s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 317s 317s Options: 317s --version show program's version number and exit 317s -h, --help show this help message and exit 317s --manpage output a manpage based on the help 317s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 317s --errorlevel=ERRORLEVEL 317s show errorlevel as: none, message, exception, 317s traceback 317s -i INPUT, --input=INPUT 317s read from INPUT in csv format 317s -x EXCLUDE, --exclude=EXCLUDE 317s exclude names matching EXCLUDE from input paths 317s -o OUTPUT, --output=OUTPUT 317s write to OUTPUT in po, pot formats 317s -t TEMPLATE, --template=TEMPLATE 317s read from TEMPLATE in po, pot, pot formats 317s -S, --timestamp skip conversion if the output file has newer timestamp 317s -P, --pot output PO Templates (.pot) rather than PO files (.po) 317s --charset=CHARSET set charset to decode from csv files 317s --columnorder=COLUMNORDER 317s specify the order and position of columns 317s (location,source,target) 317s --duplicates=DUPLICATESTYLE 317s what to do with duplicate strings (identical source 317s text): merge, msgctxt (default: 'msgctxt') 317s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 317s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 317s 317s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 317s glossary file. See: http://docs.translatehouse.org/projects/translate- 317s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 317s 317s Options: 317s --version show program's version number and exit 317s -h, --help show this help message and exit 317s --manpage output a manpage based on the help 317s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 317s --errorlevel=ERRORLEVEL 317s show errorlevel as: none, message, exception, 317s traceback 317s -i INPUT, --input=INPUT 317s read from INPUT in csv format 317s -x EXCLUDE, --exclude=EXCLUDE 317s exclude names matching EXCLUDE from input paths 317s -o OUTPUT, --output=OUTPUT 317s write to OUTPUT in tbx format 317s -S, --timestamp skip conversion if the output file has newer timestamp 317s --charset=CHARSET set charset to decode from csv files 317s --columnorder=COLUMNORDER 317s specify the order and position of columns 317s (comment,source,target) 317s ========= SMOKE TEST: /usr/bin/dtd2po =========== 317s 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] 317s 317s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 317s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 317s this module You can convert back to .dtd using po2dtd.py. 317s 317s Options: 317s --version show program's version number and exit 317s -h, --help show this help message and exit 317s --manpage output a manpage based on the help 317s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 317s --errorlevel=ERRORLEVEL 317s show errorlevel as: none, message, exception, 317s traceback 317s -i INPUT, --input=INPUT 317s read from INPUT in dtd format 317s -x EXCLUDE, --exclude=EXCLUDE 317s exclude names matching EXCLUDE from input paths 317s -o OUTPUT, --output=OUTPUT 317s write to OUTPUT in po, pot formats 317s -t TEMPLATE, --template=TEMPLATE 317s read from TEMPLATE in dtd format 317s -S, --timestamp skip conversion if the output file has newer timestamp 317s -P, --pot output PO Templates (.pot) rather than PO files (.po) 317s --duplicates=DUPLICATESTYLE 317s what to do with duplicate strings (identical source 317s text): merge, msgctxt (default: 'msgctxt') 317s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 317s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 317s 317s Convert flat XML files to Gettext PO localization files. See: 317s http://docs.translatehouse.org/projects/translate- 317s toolkit/en/latest/commands/flatxml2po.html for examples and usage 317s instructions. 317s 317s Options: 317s --version show program's version number and exit 317s -h, --help show this help message and exit 317s --manpage output a manpage based on the help 317s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 317s --errorlevel=ERRORLEVEL 317s show errorlevel as: none, message, exception, 317s traceback 317s -i INPUT, --input=INPUT 317s read from INPUT in xml format 317s -x EXCLUDE, --exclude=EXCLUDE 317s exclude names matching EXCLUDE from input paths 317s -o OUTPUT, --output=OUTPUT 317s write to OUTPUT in po, pot formats 317s -S, --timestamp skip conversion if the output file has newer timestamp 317s -r ROOT, --root=ROOT name of the XML root element (default: "root") 317s -v VALUE, --value=VALUE 317s name of the XML value element (default: "str") 317s -k KEY, --key=KEY name of the XML key attribute (default: "key") 317s -n NS, --namespace=NS 317s XML namespace uri (default: None) 317s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 317s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 317s [--delete-dest] [-v] 317s 317s options: 317s -h, --help show this help message and exit 317s -s SRCDIR, --src SRCDIR 317s The directory containing the Mozilla l10n sources. 317s -d DESTDIR, --dest DESTDIR 317s The destination directory to copy the en-US locale 317s files to. 317s -p MOZPRODUCT, --mozproduct MOZPRODUCT 317s The Mozilla product name. 317s --delete-dest Delete the destination directory (if it exists). 317s -v, --verbose Be more noisy 317s ========= SMOKE TEST: /usr/bin/html2po =========== 317s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 317s 317s Convert HTML files to Gettext PO localization files. See: 317s http://docs.translatehouse.org/projects/translate- 317s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 317s 317s Options: 317s --version show program's version number and exit 317s -h, --help show this help message and exit 317s --manpage output a manpage based on the help 317s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 317s --errorlevel=ERRORLEVEL 317s show errorlevel as: none, message, exception, 317s traceback 317s -i INPUT, --input=INPUT 317s read from INPUT in htm, html, xhtml formats 317s -x EXCLUDE, --exclude=EXCLUDE 317s exclude names matching EXCLUDE from input paths 317s -o OUTPUT, --output=OUTPUT 317s write to OUTPUT in po, pot formats 317s -S, --timestamp skip conversion if the output file has newer timestamp 317s -P, --pot output PO Templates (.pot) rather than PO files (.po) 317s --keepcomments preserve html comments as translation notes in the 317s output 317s --duplicates=DUPLICATESTYLE 317s what to do with duplicate strings (identical source 317s text): merge, msgctxt (default: 'msgctxt') 317s --multifile=MULTIFILESTYLE 317s how to split po/pot files (single, toplevel or 317s onefile) 317s ========= SMOKE TEST: /usr/bin/ical2po =========== 318s 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] 318s 318s Convert iCalendar files to Gettext PO localization files. See: 318s http://docs.translatehouse.org/projects/translate- 318s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 318s 318s Options: 318s --version show program's version number and exit 318s -h, --help show this help message and exit 318s --manpage output a manpage based on the help 318s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 318s --errorlevel=ERRORLEVEL 318s show errorlevel as: none, message, exception, 318s traceback 318s -i INPUT, --input=INPUT 318s read from INPUT in ics format 318s -x EXCLUDE, --exclude=EXCLUDE 318s exclude names matching EXCLUDE from input paths 318s -o OUTPUT, --output=OUTPUT 318s write to OUTPUT in po, pot formats 318s -t TEMPLATE, --template=TEMPLATE 318s read from TEMPLATE in ics format 318s -S, --timestamp skip conversion if the output file has newer timestamp 318s -P, --pot output PO Templates (.pot) rather than PO files (.po) 318s --duplicates=DUPLICATESTYLE 318s what to do with duplicate strings (identical source 318s text): merge, msgctxt (default: 'msgctxt') 318s ========= SMOKE TEST: /usr/bin/idml2po =========== 318s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 318s 318s Convert IDML files to PO localization files. 318s 318s Options: 318s --version show program's version number and exit 318s -h, --help show this help message and exit 318s --manpage output a manpage based on the help 318s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 318s --errorlevel=ERRORLEVEL 318s show errorlevel as: none, message, exception, 318s traceback 318s -i INPUT, --input=INPUT 318s read from INPUT in idml format 318s -x EXCLUDE, --exclude=EXCLUDE 318s exclude names matching EXCLUDE from input paths 318s -o OUTPUT, --output=OUTPUT 318s write to OUTPUT in po, pot formats 318s -S, --timestamp skip conversion if the output file has newer timestamp 318s ========= SMOKE TEST: /usr/bin/ini2po =========== 318s 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] 318s 318s Convert .ini files to Gettext PO localization files. See: 318s http://docs.translatehouse.org/projects/translate- 318s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 318s 318s Options: 318s --version show program's version number and exit 318s -h, --help show this help message and exit 318s --manpage output a manpage based on the help 318s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 318s --errorlevel=ERRORLEVEL 318s show errorlevel as: none, message, exception, 318s traceback 318s -i INPUT, --input=INPUT 318s read from INPUT in ini, isl, iss formats 318s -x EXCLUDE, --exclude=EXCLUDE 318s exclude names matching EXCLUDE from input paths 318s -o OUTPUT, --output=OUTPUT 318s write to OUTPUT in po, pot formats 318s -t TEMPLATE, --template=TEMPLATE 318s read from TEMPLATE in ini, isl, iss formats 318s -S, --timestamp skip conversion if the output file has newer timestamp 318s -P, --pot output PO Templates (.pot) rather than PO files (.po) 318s --duplicates=DUPLICATESTYLE 318s what to do with duplicate strings (identical source 318s text): merge, msgctxt (default: 'msgctxt') 318s ========= SMOKE TEST: /usr/bin/json2po =========== 318s 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] 318s 318s Convert JSON files to Gettext PO localization files. See: 318s http://docs.translatehouse.org/projects/translate- 318s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 318s 318s Options: 318s --version show program's version number and exit 318s -h, --help show this help message and exit 318s --manpage output a manpage based on the help 318s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 318s --errorlevel=ERRORLEVEL 318s show errorlevel as: none, message, exception, 318s traceback 318s -i INPUT, --input=INPUT 318s read from INPUT in json format 318s -x EXCLUDE, --exclude=EXCLUDE 318s exclude names matching EXCLUDE from input paths 318s -o OUTPUT, --output=OUTPUT 318s write to OUTPUT in po, pot formats 318s -t TEMPLATE, --template=TEMPLATE 318s read from TEMPLATE in json format 318s -S, --timestamp skip conversion if the output file has newer timestamp 318s -P, --pot output PO Templates (.pot) rather than PO files (.po) 318s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 318s everything) 318s --duplicates=DUPLICATESTYLE 318s what to do with duplicate strings (identical source 318s text): merge, msgctxt (default: 'msgctxt') 318s ========= SMOKE TEST: /usr/bin/md2po =========== 319s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 319s 319s Convert Markdown files to Gettext PO localization files. See: 319s http://docs.translatehouse.org/projects/translate- 319s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 319s 319s Options: 319s --version show program's version number and exit 319s -h, --help show this help message and exit 319s --manpage output a manpage based on the help 319s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 319s --errorlevel=ERRORLEVEL 319s show errorlevel as: none, message, exception, 319s traceback 319s -i INPUT, --input=INPUT 319s read from INPUT in markdown, md, text, txt formats 319s -x EXCLUDE, --exclude=EXCLUDE 319s exclude names matching EXCLUDE from input paths 319s -o OUTPUT, --output=OUTPUT 319s write to OUTPUT in po, pot formats 319s -S, --timestamp skip conversion if the output file has newer timestamp 319s -P, --pot output PO Templates (.pot) rather than PO files (.po) 319s --duplicates=DUPLICATESTYLE 319s what to do with duplicate strings (identical source 319s text): merge, msgctxt (default: 'msgctxt') 319s --multifile=MULTIFILESTYLE 319s how to split po/pot files (single, toplevel or 319s onefile) 319s ========= SMOKE TEST: /usr/bin/moz2po =========== 319s 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] 319s 319s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 319s See: http://docs.translatehouse.org/projects/translate- 319s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 319s 319s Options: 319s --version show program's version number and exit 319s -h, --help show this help message and exit 319s --manpage output a manpage based on the help 319s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 319s --errorlevel=ERRORLEVEL 319s show errorlevel as: none, message, exception, 319s traceback 319s -i INPUT, --input=INPUT 319s read from INPUT in *, dtd, inc, ini, it, js, lang, 319s manifest, properties, rdf formats 319s -x EXCLUDE, --exclude=EXCLUDE 319s exclude names matching EXCLUDE from input paths 319s -o OUTPUT, --output=OUTPUT 319s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 319s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 319s lang.pot, manifest, properties.po, properties.pot, rdf 319s formats 319s -t TEMPLATE, --template=TEMPLATE 319s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 319s manifest, properties, rdf formats 319s -S, --timestamp skip conversion if the output file has newer timestamp 319s -P, --pot output PO Templates (.pot) rather than PO files (.po) 319s --duplicates=DUPLICATESTYLE 319s what to do with duplicate strings (identical source 319s text): merge, msgctxt (default: 'msgctxt') 320s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 320s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 320s 320s Convert Mozilla .lang files to Gettext PO localization files. 320s 320s Options: 320s --version show program's version number and exit 320s -h, --help show this help message and exit 320s --manpage output a manpage based on the help 320s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 320s --errorlevel=ERRORLEVEL 320s show errorlevel as: none, message, exception, 320s traceback 320s -i INPUT, --input=INPUT 320s read from INPUT in lang format 320s -x EXCLUDE, --exclude=EXCLUDE 320s exclude names matching EXCLUDE from input paths 320s -o OUTPUT, --output=OUTPUT 320s write to OUTPUT in po, pot formats 320s -S, --timestamp skip conversion if the output file has newer timestamp 320s -P, --pot output PO Templates (.pot) rather than PO files (.po) 320s --encoding=ENCODING The encoding of the input file (default: UTF-8) 320s --duplicates=DUPLICATESTYLE 320s what to do with duplicate strings (identical source 320s text): merge, msgctxt (default: 'msgctxt') 320s ========= SMOKE TEST: /usr/bin/msghack =========== 320s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 320s This program can be used to alter .po files in ways no sane mind would think about. 320s -o result will be written to FILE 320s --invert invert a po file by switching msgid and msgstr 320s --master join any number of files in a master-formatted catalog 320s --empty empty the contents of the .po file, creating a .pot 320s --append append entries from ref.po that don't exist in file.po 320s 320s Note: It is just a replacement of msghack for backward support. 320s 320s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 320s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 320s 320s Convert OpenDocument (ODF) files to XLIFF localization files. See: 320s http://docs.translatehouse.org/projects/translate- 320s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 320s 320s Options: 320s --version show program's version number and exit 320s -h, --help show this help message and exit 320s --manpage output a manpage based on the help 320s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 320s --errorlevel=ERRORLEVEL 320s show errorlevel as: none, message, exception, 320s traceback 320s -i INPUT, --input=INPUT 320s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 320s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 320s formats 320s -x EXCLUDE, --exclude=EXCLUDE 320s exclude names matching EXCLUDE from input paths 320s -o OUTPUT, --output=OUTPUT 320s write to OUTPUT in xlf, xliff formats 320s -S, --timestamp skip conversion if the output file has newer timestamp 320s ========= SMOKE TEST: /usr/bin/oo2po =========== 320s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 320s 320s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 320s files. See: http://docs.translatehouse.org/projects/translate- 320s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 320s 320s Options: 320s --version show program's version number and exit 320s -h, --help show this help message and exit 320s --manpage output a manpage based on the help 320s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 320s --errorlevel=ERRORLEVEL 320s show errorlevel as: none, message, exception, 320s traceback 320s -i INPUT, --input=INPUT 320s read from INPUT in oo, sdf formats 320s -x EXCLUDE, --exclude=EXCLUDE 320s exclude names matching EXCLUDE from input paths 320s -o OUTPUT, --output=OUTPUT 320s write to OUTPUT in po, pot formats 320s -S, --timestamp skip conversion if the output file has newer timestamp 320s -P, --pot output PO Templates (.pot) rather than PO files (.po) 320s -l LANG, --language=LANG 320s set target language to extract from oo file (e.g. af- 320s ZA) 320s --source-language=LANG 320s set source language code (default en-US) 320s --nonrecursiveinput don't treat the input oo as a recursive store 320s --duplicates=DUPLICATESTYLE 320s what to do with duplicate strings (identical source 320s text): merge, msgctxt (default: 'msgctxt') 320s --multifile=MULTIFILESTYLE 320s how to split po/pot files (single, toplevel or 320s onefile) 320s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 320s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 320s 320s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 320s files. See: http://docs.translatehouse.org/projects/translate- 320s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 320s 320s Options: 320s --version show program's version number and exit 320s -h, --help show this help message and exit 320s --manpage output a manpage based on the help 320s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 320s --errorlevel=ERRORLEVEL 320s show errorlevel as: none, message, exception, 320s traceback 320s -i INPUT, --input=INPUT 320s read from INPUT in oo, sdf formats 320s -x EXCLUDE, --exclude=EXCLUDE 320s exclude names matching EXCLUDE from input paths 320s -o OUTPUT, --output=OUTPUT 320s write to OUTPUT in xlf, xliff formats 320s -S, --timestamp skip conversion if the output file has newer timestamp 320s -l LANG, --language=LANG 320s set target language to extract from oo file (e.g. af- 320s ZA) 320s --source-language=LANG 320s set source language code (default en-US) 320s --nonrecursiveinput don't treat the input oo as a recursive store 320s --duplicates=DUPLICATESTYLE 320s what to do with duplicate strings (identical source 320s text): merge, msgctxt (default: 'msgctxt') 320s --multifile=MULTIFILESTYLE 320s how to split po/pot files (single, toplevel or 320s onefile) 320s ========= SMOKE TEST: /usr/bin/php2po =========== 321s 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] 321s 321s Convert PHP localization files to Gettext PO localization files. See: 321s http://docs.translatehouse.org/projects/translate- 321s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 321s 321s Options: 321s --version show program's version number and exit 321s -h, --help show this help message and exit 321s --manpage output a manpage based on the help 321s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 321s --errorlevel=ERRORLEVEL 321s show errorlevel as: none, message, exception, 321s traceback 321s -i INPUT, --input=INPUT 321s read from INPUT in html, php formats 321s -x EXCLUDE, --exclude=EXCLUDE 321s exclude names matching EXCLUDE from input paths 321s -o OUTPUT, --output=OUTPUT 321s write to OUTPUT in po, pot formats 321s -t TEMPLATE, --template=TEMPLATE 321s read from TEMPLATE in html, php formats 321s -S, --timestamp skip conversion if the output file has newer timestamp 321s -P, --pot output PO Templates (.pot) rather than PO files (.po) 321s --duplicates=DUPLICATESTYLE 321s what to do with duplicate strings (identical source 321s text): merge, msgctxt (default: 'msgctxt') 321s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 321s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 321s 321s Convert PHP format .po files to Python format .po files. 321s 321s Options: 321s --version show program's version number and exit 321s -h, --help show this help message and exit 321s --manpage output a manpage based on the help 321s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 321s --errorlevel=ERRORLEVEL 321s show errorlevel as: none, message, exception, 321s traceback 321s -i INPUT, --input=INPUT 321s read from INPUT in po, pot formats 321s -x EXCLUDE, --exclude=EXCLUDE 321s exclude names matching EXCLUDE from input paths 321s -o OUTPUT, --output=OUTPUT 321s write to OUTPUT in po, pot formats 321s -S, --timestamp skip conversion if the output file has newer timestamp 321s ========= SMOKE TEST: /usr/bin/po2csv =========== 321s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 321s 321s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 321s See: http://docs.translatehouse.org/projects/translate- 321s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 321s 321s Options: 321s --version show program's version number and exit 321s -h, --help show this help message and exit 321s --manpage output a manpage based on the help 321s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 321s --errorlevel=ERRORLEVEL 321s show errorlevel as: none, message, exception, 321s traceback 321s -i INPUT, --input=INPUT 321s read from INPUT in po, pot formats 321s -x EXCLUDE, --exclude=EXCLUDE 321s exclude names matching EXCLUDE from input paths 321s -o OUTPUT, --output=OUTPUT 321s write to OUTPUT in csv format 321s -S, --timestamp skip conversion if the output file has newer timestamp 321s --columnorder=COLUMNORDER 321s specify the order and position of columns 321s (location,source,target) 321s ========= SMOKE TEST: /usr/bin/po2dtd =========== 321s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 321s 321s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 321s Conversion is either done using a template plus PO file or just using the 321s .po file. 321s 321s Options: 321s --version show program's version number and exit 321s -h, --help show this help message and exit 321s --manpage output a manpage based on the help 321s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 321s --errorlevel=ERRORLEVEL 321s show errorlevel as: none, message, exception, 321s traceback 321s -i INPUT, --input=INPUT 321s read from INPUT in po, pot formats 321s -x EXCLUDE, --exclude=EXCLUDE 321s exclude names matching EXCLUDE from input paths 321s -o OUTPUT, --output=OUTPUT 321s write to OUTPUT in dtd format 321s -t TEMPLATE, --template=TEMPLATE 321s read from TEMPLATE in dtd format 321s -S, --timestamp skip conversion if the output file has newer timestamp 321s --threshold=PERCENT only convert files where the translation completion is 321s above PERCENT 321s --fuzzy use translations marked fuzzy 321s --nofuzzy don't use translations marked fuzzy (default) 321s --removeuntranslated remove untranslated strings from output 321s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 321s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 321s 321s Convert Gettext PO localization files to flat XML files. See: 321s http://docs.translatehouse.org/projects/translate- 321s toolkit/en/latest/commands/flatxml2po.html for examples and usage 321s instructions. 321s 321s Options: 321s --version show program's version number and exit 321s -h, --help show this help message and exit 321s --manpage output a manpage based on the help 321s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 321s --errorlevel=ERRORLEVEL 321s show errorlevel as: none, message, exception, 321s traceback 321s -i INPUT, --input=INPUT 321s read from INPUT in po, pot formats 321s -x EXCLUDE, --exclude=EXCLUDE 321s exclude names matching EXCLUDE from input paths 321s -o OUTPUT, --output=OUTPUT 321s write to OUTPUT in xml format 321s -t TEMPLATE, --template=TEMPLATE 321s read from TEMPLATE in xml format 321s -S, --timestamp skip conversion if the output file has newer timestamp 321s -r ROOT, --root=ROOT name of the XML root element (default: "root") 321s -v VALUE, --value=VALUE 321s name of the XML value element (default: "str") 321s -k KEY, --key=KEY name of the XML key attribute (default: "key") 321s -n NS, --namespace=NS 321s XML namespace uri (default: None) 321s -w INDENT, --indent=INDENT 321s indent width in spaces, 0 for no indent (default: 2) 322s ========= SMOKE TEST: /usr/bin/po2html =========== 322s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 322s 322s Translate HTML files using Gettext PO localization files. See: 322s http://docs.translatehouse.org/projects/translate- 322s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in po, pot formats 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in htm, html, xhtml formats 322s -t TEMPLATE, --template=TEMPLATE 322s read from TEMPLATE in htm, html, xhtml formats 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s --threshold=PERCENT only convert files where the translation completion is 322s above PERCENT 322s --fuzzy use translations marked fuzzy 322s --nofuzzy don't use translations marked fuzzy (default) 322s ========= SMOKE TEST: /usr/bin/po2ical =========== 322s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 322s 322s Convert Gettext PO localization files to iCalendar files. See: 322s http://docs.translatehouse.org/projects/translate- 322s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in po, pot formats 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in ics format 322s -t TEMPLATE, --template=TEMPLATE 322s read from TEMPLATE in ics format 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s --threshold=PERCENT only convert files where the translation completion is 322s above PERCENT 322s --fuzzy use translations marked fuzzy 322s --nofuzzy don't use translations marked fuzzy (default) 322s ========= SMOKE TEST: /usr/bin/po2idml =========== 322s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 322s 322s Takes an IDML template file and a PO file containing translations of strings 322s in the IDML template. It creates a new IDML file using the translations of the 322s PO file. 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in po, pot formats 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in idml format 322s -t TEMPLATE, --template=TEMPLATE 322s read from TEMPLATE in idml format 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s ========= SMOKE TEST: /usr/bin/po2ini =========== 322s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 322s 322s Convert Gettext PO localization files to .ini files. See: 322s http://docs.translatehouse.org/projects/translate- 322s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 322s 322s Options: 322s --version show program's version number and exit 322s -h, --help show this help message and exit 322s --manpage output a manpage based on the help 322s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 322s --errorlevel=ERRORLEVEL 322s show errorlevel as: none, message, exception, 322s traceback 322s -i INPUT, --input=INPUT 322s read from INPUT in po, pot formats 322s -x EXCLUDE, --exclude=EXCLUDE 322s exclude names matching EXCLUDE from input paths 322s -o OUTPUT, --output=OUTPUT 322s write to OUTPUT in ini, isl formats 322s -t TEMPLATE, --template=TEMPLATE 322s read from TEMPLATE in ini, isl formats 322s -S, --timestamp skip conversion if the output file has newer timestamp 322s --threshold=PERCENT only convert files where the translation completion is 322s above PERCENT 322s --fuzzy use translations marked fuzzy 322s --nofuzzy don't use translations marked fuzzy (default) 322s ========= SMOKE TEST: /usr/bin/po2json =========== 323s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 323s 323s Convert Gettext PO localization files to JSON files. See: 323s http://docs.translatehouse.org/projects/translate- 323s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in po, pot formats 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in json format 323s -t TEMPLATE, --template=TEMPLATE 323s read from TEMPLATE in json format 323s -S, --timestamp skip conversion if the output file has newer timestamp 323s --threshold=PERCENT only convert files where the translation completion is 323s above PERCENT 323s --fuzzy use translations marked fuzzy 323s --nofuzzy don't use translations marked fuzzy (default) 323s --removeuntranslated remove untranslated strings from output 323s ========= SMOKE TEST: /usr/bin/po2md =========== 323s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 323s 323s Translate Markdown files using Gettext PO localization files. See: 323s http://docs.translatehouse.org/projects/translate- 323s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 323s 323s Options: 323s --version show program's version number and exit 323s -h, --help show this help message and exit 323s --manpage output a manpage based on the help 323s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 323s --errorlevel=ERRORLEVEL 323s show errorlevel as: none, message, exception, 323s traceback 323s -i INPUT, --input=INPUT 323s read from INPUT in po, pot formats 323s -x EXCLUDE, --exclude=EXCLUDE 323s exclude names matching EXCLUDE from input paths 323s -o OUTPUT, --output=OUTPUT 323s write to OUTPUT in markdown, md, text, txt formats 323s -t TEMPLATE, --template=TEMPLATE 323s read from TEMPLATE in markdown, md, text, txt formats 323s -S, --timestamp skip conversion if the output file has newer timestamp 323s -m MAXLENGTH, --maxlinelength=MAXLENGTH 323s reflow (word wrap) the output to the given maximum 323s line length. set to 0 to disable 323s --threshold=PERCENT only convert files where the translation completion is 323s above PERCENT 323s --fuzzy use translations marked fuzzy 323s --nofuzzy don't use translations marked fuzzy (default) 323s ========= SMOKE TEST: /usr/bin/po2moz =========== 324s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 324s 324s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 324s See: http://docs.translatehouse.org/projects/translate- 324s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in *, dtd.po, dtd.pot, inc.po, 324s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 324s lang.pot, manifest, properties.po, properties.pot, rdf 324s formats 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 324s manifest, properties, rdf formats 324s -t TEMPLATE, --template=TEMPLATE 324s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 324s manifest, properties, rdf formats 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s -l LOCALE, --locale=LOCALE 324s set output locale (required as this sets the directory 324s names) 324s --threshold=PERCENT only convert files where the translation completion is 324s above PERCENT 324s --fuzzy use translations marked fuzzy 324s --nofuzzy don't use translations marked fuzzy (default) 324s --removeuntranslated remove untranslated strings from output 324s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 324s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 324s 324s Convert Gettext PO localization files to Mozilla .lang files. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in po, pot formats 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in lang format 324s -t TEMPLATE, --template=TEMPLATE 324s read from TEMPLATE in lang format 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s --mark-active mark the file as active 324s --threshold=PERCENT only convert files where the translation completion is 324s above PERCENT 324s --fuzzy use translations marked fuzzy 324s --nofuzzy don't use translations marked fuzzy (default) 324s ========= SMOKE TEST: /usr/bin/po2oo =========== 324s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 324s 324s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 324s file. See: http://docs.translatehouse.org/projects/translate- 324s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in po, pot, xlf, xliff formats 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in oo, sdf formats 324s -t TEMPLATE, --template=TEMPLATE 324s read from TEMPLATE in oo, sdf formats 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s -l LANG, --language=LANG 324s set target language code (e.g. af-ZA) [required] 324s --source-language=LANG 324s set source language code (default en-US) 324s -T, --keeptimestamp don't change the timestamps of the strings 324s --nonrecursiveoutput don't treat the output oo as a recursive store 324s --nonrecursivetemplate 324s don't treat the template oo as a recursive store 324s --skipsource don't output the source language, but fallback to it 324s where needed 324s --filteraction=ACTION 324s action on pofilter failure: none (default), warn, 324s exclude-serious, exclude-all 324s --threshold=PERCENT only convert files where the translation completion is 324s above PERCENT 324s --fuzzy use translations marked fuzzy 324s --nofuzzy don't use translations marked fuzzy (default) 324s --multifile=MULTIFILESTYLE 324s how to split po/pot files (single, toplevel or 324s onefile) 324s ========= SMOKE TEST: /usr/bin/po2php =========== 324s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 324s 324s Convert Gettext PO localization files to PHP localization files. See: 324s http://docs.translatehouse.org/projects/translate- 324s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 324s 324s Options: 324s --version show program's version number and exit 324s -h, --help show this help message and exit 324s --manpage output a manpage based on the help 324s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 324s --errorlevel=ERRORLEVEL 324s show errorlevel as: none, message, exception, 324s traceback 324s -i INPUT, --input=INPUT 324s read from INPUT in po, pot formats 324s -x EXCLUDE, --exclude=EXCLUDE 324s exclude names matching EXCLUDE from input paths 324s -o OUTPUT, --output=OUTPUT 324s write to OUTPUT in html, php formats 324s -t TEMPLATE, --template=TEMPLATE 324s read from TEMPLATE in html, php formats 324s -S, --timestamp skip conversion if the output file has newer timestamp 324s --threshold=PERCENT only convert files where the translation completion is 324s above PERCENT 324s --fuzzy use translations marked fuzzy 324s --nofuzzy don't use translations marked fuzzy (default) 324s ========= SMOKE TEST: /usr/bin/po2prop =========== 325s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 325s 325s Convert Gettext PO localization files to Java/Mozilla .properties files. 325s See: http://docs.translatehouse.org/projects/translate- 325s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in po, pot formats 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in lang, properties, strings formats 325s -t TEMPLATE, --template=TEMPLATE 325s read from TEMPLATE in lang, properties, strings 325s formats 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s --personality=TYPE override the input file format: java, java-utf8, java- 325s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 325s strings, strings-utf8, joomla (for .properties files, 325s default: java) 325s --encoding=ENCODING override the encoding set by the personality 325s --threshold=PERCENT only convert files where the translation completion is 325s above PERCENT 325s --fuzzy use translations marked fuzzy 325s --nofuzzy don't use translations marked fuzzy (default) 325s --removeuntranslated remove untranslated strings from output 325s ========= SMOKE TEST: /usr/bin/po2rc =========== 325s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 325s 325s Convert Gettext PO localization files back to Windows Resource (.rc) files. 325s See: http://docs.translatehouse.org/projects/translate- 325s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in po, pot formats 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in rc format 325s -t TEMPLATE, --template=TEMPLATE 325s read from TEMPLATE in rc format 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 325s -l LANG, --lang=LANG LANG entry 325s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 325s --threshold=PERCENT only convert files where the translation completion is 325s above PERCENT 325s --fuzzy use translations marked fuzzy 325s --nofuzzy don't use translations marked fuzzy (default) 325s ========= SMOKE TEST: /usr/bin/po2resx =========== 325s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 325s 325s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 325s http://docs.translatehouse.org/projects/translate- 325s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in po, pot formats 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in resx format 325s -t TEMPLATE, --template=TEMPLATE 325s read from TEMPLATE in resx format 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s --fuzzy use translations marked fuzzy 325s --nofuzzy don't use translations marked fuzzy (default) 325s ========= SMOKE TEST: /usr/bin/po2sub =========== 325s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 325s 325s Convert Gettext PO localization files to subtitle files. See: 325s http://docs.translatehouse.org/projects/translate- 325s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 325s 325s Options: 325s --version show program's version number and exit 325s -h, --help show this help message and exit 325s --manpage output a manpage based on the help 325s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 325s --errorlevel=ERRORLEVEL 325s show errorlevel as: none, message, exception, 325s traceback 325s -i INPUT, --input=INPUT 325s read from INPUT in po, pot formats 325s -x EXCLUDE, --exclude=EXCLUDE 325s exclude names matching EXCLUDE from input paths 325s -o OUTPUT, --output=OUTPUT 325s write to OUTPUT in ass, srt, ssa, sub formats 325s -t TEMPLATE, --template=TEMPLATE 325s read from TEMPLATE in ass, srt, ssa, sub formats 325s -S, --timestamp skip conversion if the output file has newer timestamp 325s --threshold=PERCENT only convert files where the translation completion is 325s above PERCENT 325s --fuzzy use translations marked fuzzy 325s --nofuzzy don't use translations marked fuzzy (default) 325s ========= SMOKE TEST: /usr/bin/po2symb =========== 326s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 326s 326s Convert Gettext PO localization files to Symbian translation files. See: 326s http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in r0 format 326s -t TEMPLATE, --template=TEMPLATE 326s read from TEMPLATE in 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s --duplicates=DUPLICATESTYLE 326s what to do with duplicate strings (identical source 326s text): merge, msgctxt (default: 'msgctxt') 326s ========= SMOKE TEST: /usr/bin/po2tiki =========== 326s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 326s 326s Convert Gettext PO files to TikiWiki's language.php files. See: 326s http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in tiki format 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s ========= SMOKE TEST: /usr/bin/po2tmx =========== 326s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 326s 326s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 326s file. See: http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in tmx format 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s -l LANG, --language=LANG 326s set target language code (e.g. af-ZA) [required] 326s --source-language=LANG 326s set source language code (default: en) 326s --comments=COMMENT set default comment import: none, source, type or 326s others (default: none) 326s ========= SMOKE TEST: /usr/bin/po2ts =========== 326s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 326s 326s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 326s http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in ts format 326s -t TEMPLATE, --template=TEMPLATE 326s read from TEMPLATE in ts format 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s -c CONTEXT, --context=CONTEXT 326s use supplied context instead of the one in the .po 326s file comment 326s ========= SMOKE TEST: /usr/bin/po2txt =========== 326s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 326s 326s Convert Gettext PO localization files to plain text (.txt) files. See: 326s http://docs.translatehouse.org/projects/translate- 326s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 326s 326s Options: 326s --version show program's version number and exit 326s -h, --help show this help message and exit 326s --manpage output a manpage based on the help 326s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 326s --errorlevel=ERRORLEVEL 326s show errorlevel as: none, message, exception, 326s traceback 326s -i INPUT, --input=INPUT 326s read from INPUT in po, pot, xlf, xliff formats 326s -x EXCLUDE, --exclude=EXCLUDE 326s exclude names matching EXCLUDE from input paths 326s -o OUTPUT, --output=OUTPUT 326s write to OUTPUT in txt format 326s -t TEMPLATE, --template=TEMPLATE 326s read from TEMPLATE in txt format 326s -S, --timestamp skip conversion if the output file has newer timestamp 326s --encoding=ENCODING The encoding of the template file (default: UTF-8) 326s -w WRAP, --wrap=WRAP set number of columns to wrap text at 326s --threshold=PERCENT only convert files where the translation completion is 326s above PERCENT 326s --fuzzy use translations marked fuzzy 326s --nofuzzy don't use translations marked fuzzy (default) 326s ========= SMOKE TEST: /usr/bin/po2web2py =========== 327s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 327s 327s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in py format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --threshold=PERCENT only convert files where the translation completion is 327s above PERCENT 327s --fuzzy use translations marked fuzzy 327s --nofuzzy don't use translations marked fuzzy (default) 327s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 327s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 327s 327s Convert Gettext PO localization files to a Wordfast translation memory file. 327s See: http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/po2wordfast.html for examples and usage 327s instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in txt format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s -l LANG, --language=LANG 327s set target language code (e.g. af-ZA) [required] 327s --source-language=LANG 327s set source language code (default: en) 327s ========= SMOKE TEST: /usr/bin/po2xliff =========== 327s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 327s 327s Convert Gettext PO localization files to XLIFF localization files. See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in xlf, xliff formats 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in xlf, xliff formats 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s ========= SMOKE TEST: /usr/bin/po2yaml =========== 327s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 327s 327s Convert Gettext PO localization files to YAML files. See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in yaml, yml formats 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in yaml, yml formats 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --threshold=PERCENT only convert files where the translation completion is 327s above PERCENT 327s --fuzzy use translations marked fuzzy 327s --nofuzzy don't use translations marked fuzzy (default) 327s ========= SMOKE TEST: /usr/bin/poclean =========== 327s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 327s 327s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 327s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 327s produces the target file with only the target text in from a text version of 327s the RTF. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot, xlf, xliff formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in po, pot, xlf, xliff formats 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s ========= SMOKE TEST: /usr/bin/pocompendium =========== 327s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 327s The first parameter is the output file, standard output if the output file is '-'. 327s Any number of directories may be specified for input files. 327s Options: 327s --invert|v Creates an inverse compendium with msgid and msgstr swapped 327s --errors|e Only ouput msg bundles that have errors 327s --correct|c Only ouput msg bundles that are correctly translated 327s --ignore-case|i Drops all strings to lowercase 327s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 327s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 327s --strip-accel-under|-su Strip all underscore (_) accelerator characters 327s ========= SMOKE TEST: /usr/bin/pocompile =========== 327s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 327s 327s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 327s Object) files. See: http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 327s 327s Options: 327s --version show program's version number and exit 327s -h, --help show this help message and exit 327s --manpage output a manpage based on the help 327s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 327s --errorlevel=ERRORLEVEL 327s show errorlevel as: none, message, exception, 327s traceback 327s -i INPUT, --input=INPUT 327s read from INPUT in po, pot, xlf, xliff formats 327s -x EXCLUDE, --exclude=EXCLUDE 327s exclude names matching EXCLUDE from input paths 327s -o OUTPUT, --output=OUTPUT 327s write to OUTPUT in mo format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --fuzzy use translations marked fuzzy 327s --nofuzzy don't use translations marked fuzzy (default) 328s ========= SMOKE TEST: /usr/bin/poconflicts =========== 328s 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] 328s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 328s 328s Conflict finder for Gettext PO localization files. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/poconflicts.html for examples and usage 328s instructions. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po format 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in po format 328s -I, --ignore-case ignore case distinctions 328s -v, --invert invert the conflicts thus extracting conflicting 328s destination words 328s --accelerator=ACCELERATORS 328s ignores the given accelerator characters when matching 328s ========= SMOKE TEST: /usr/bin/pocount =========== 328s usage: pocount [-h] [--incomplete] 328s [--full | --csv | --short | --short-strings | --short-words] 328s [--no-color] 328s files [files ...] 328s 328s positional arguments: 328s files 328s 328s options: 328s -h, --help show this help message and exit 328s --incomplete skip 100% translated files. 328s 328s Output format: 328s --full (default) statistics in full, verbose format 328s --csv statistics in CSV format 328s --short same as --short-strings 328s --short-strings statistics of strings in short format - one line per file 328s --short-words statistics of words in short format - one line per file 328s --no-color show output without color 328s ========= SMOKE TEST: /usr/bin/podebug =========== 328s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 328s 328s Insert debug messages into XLIFF and Gettext PO localization files. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po, pot, pot, tmx, xlf, xliff 328s formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in po, pot, tmx, xlf, xliff formats 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s -f FORMAT, --format=FORMAT 328s specify format string 328s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 328s classified, en, flipped, unicode, xxx 328s --ignore=APPLICATION apply tagging ignore rules for the given application: 328s gtk, kde, libreoffice, mozilla, openoffice 328s --preserveplaceholders 328s attempt to exclude characters that are part of 328s placeholders when performing character-level rewrites 328s so that consuming applications can still use the 328s placeholders to generate final output 328s ========= SMOKE TEST: /usr/bin/pofilter =========== 328s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 328s 328s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 328s Snippet files are created whenever a test fails. These can be examined, 328s corrected and merged back into the originals using pomerge. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 328s and http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 328s tests. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in po, pot, tmx, xlf, xliff formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in po, pot, tmx, xlf, xliff formats 328s -l, --listfilters list filters available 328s --review include units marked for review (default) 328s --noreview exclude units marked for review 328s --fuzzy include units marked fuzzy (default) 328s --nofuzzy exclude units marked fuzzy 328s --nonotes don't add notes about the errors 328s --autocorrect output automatic corrections where possible rather 328s than describing issues 328s --language=LANG set target language code (e.g. af-ZA) [required for 328s spell check and recommended in general] 328s --openoffice use the standard checks for OpenOffice translations 328s --libreoffice use the standard checks for LibreOffice translations 328s --mozilla use the standard checks for Mozilla translations 328s --drupal use the standard checks for Drupal translations 328s --gnome use the standard checks for Gnome translations 328s --kde use the standard checks for KDE translations 328s --wx use the standard checks for wxWidgets translations 328s --excludefilter=FILTER 328s don't use FILTER when filtering 328s -t FILTER, --test=FILTER 328s only use test FILTERs specified with this option when 328s filtering 328s --notranslatefile=FILE 328s read list of untranslatable words from FILE (must not 328s be translated) 328s --musttranslatefile=FILE 328s read list of translatable words from FILE (must be 328s translated) 328s --validcharsfile=FILE 328s read list of all valid characters from FILE (must be 328s in UTF-8) 328s ========= SMOKE TEST: /usr/bin/pogrep =========== 328s 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] 328s 328s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 328s snippet files of the same type which can then be reviewed and later merged 328s using :doc:`pomerge `. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 328s 328s Options: 328s --version show program's version number and exit 328s -h, --help show this help message and exit 328s --manpage output a manpage based on the help 328s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 328s --errorlevel=ERRORLEVEL 328s show errorlevel as: none, message, exception, 328s traceback 328s -i INPUT, --input=INPUT 328s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 328s xliff formats 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 328s xliff formats 328s --search=SEARCHPARTS searches the given parts (source, target, notes and 328s locations) 328s -I, --ignore-case ignore case distinctions 328s -e, --regexp use regular expression matching 328s -v, --invert-match select non-matching lines 328s --accelerator=ACCELERATOR 328s ignores the given accelerator when matching 328s -k, --keep-translations 328s always extract units with translations 329s ========= SMOKE TEST: /usr/bin/pomerge =========== 329s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 329s 329s Merges XLIFF and Gettext PO localization files. Snippet file produced by 329s e.g. :doc:`pogrep ` and updated by a translator can be 329s merged back into the original files. See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in po, pot, pot, xlf, xliff formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in po, pot, pot, xlf, xliff formats 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in po, pot, pot, xlf, xliff formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s --mergeblanks=MERGEBLANKS 329s whether to overwrite existing translations with blank 329s translations (yes/no). Default is yes. 329s --mergefuzzy=MERGEFUZZY 329s whether to consider fuzzy translations from input 329s (yes/no). Default is yes. 329s --mergecomments=MERGECOMMENTS 329s whether to merge comments as well as translations 329s (yes/no). Default is yes. 329s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 329s Usage pomigrate2 [options] 329s 329s Options: 329s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 329s -C|--use-compendium - create and use a compendium built from the migrating files 329s -C|--use-compendium=some-compendium.po 329s - use an external compendium during the migration 329s --no-wrap - do not wrap long lines 329s --locale=lang - set locale for newly born files 329s -q|--quiet - suppress most output 329s -p|--pot2po - use pot2po instead of msgmerge to migrate 329s ========= SMOKE TEST: /usr/bin/popuretext =========== 329s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 329s ========= SMOKE TEST: /usr/bin/poreencode =========== 329s Usage: poreencode 329s eg: poreencode UTF-8 af/ 329s ========= SMOKE TEST: /usr/bin/porestructure =========== 329s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 329s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 329s 329s Restructure Gettxt PO files produced by :doc:`poconflicts 329s ` into the original directory tree for merging using 329s :doc:`pomerge `. See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in po format 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in po format 329s ========= SMOKE TEST: /usr/bin/posegment =========== 329s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 329s 329s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 329s See: http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in po, pot, tmx, xlf, xliff formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in po, pot, tmx, xlf, xliff formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s -P, --pot output PO Templates (.pot) rather than PO files (.po) 329s -l LANG, --language=LANG 329s the target language code 329s --source-language=LANG 329s the source language code (default 'en') 329s --keepspaces Disable automatic stripping of whitespace 329s --only-aligned Removes units where sentence number does not 329s correspond 329s ========= SMOKE TEST: /usr/bin/poswap =========== 329s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 329s 329s Builds a new translation file with the target of the input language as source 329s language. .. note:: Ensure that the two po files correspond 100% to the same 329s pot file before using this. To translate Kurdish (ku) through French:: 329s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 329s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in po, pot formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in po, pot formats 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in po, pot, pot formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s --reverse reverse the process of intermediate language 329s conversion 329s ========= SMOKE TEST: /usr/bin/pot2po =========== 329s 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] 329s 329s Convert template files (like .pot or template .xlf files) to translation 329s files, preserving existing translations. See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 329s 329s Options: 329s --version show program's version number and exit 329s -h, --help show this help message and exit 329s --manpage output a manpage based on the help 329s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 329s --errorlevel=ERRORLEVEL 329s show errorlevel as: none, message, exception, 329s traceback 329s -i INPUT, --input=INPUT 329s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 329s formats 329s -x EXCLUDE, --exclude=EXCLUDE 329s exclude names matching EXCLUDE from input paths 329s -o OUTPUT, --output=OUTPUT 329s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 329s xliff formats 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 329s xliff formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s -P, --pot output PO Templates (.pot) rather than PO files (.po) 329s --tm=TM The file to use as translation memory when fuzzy 329s matching 329s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 329s The minimum similarity for inclusion (default: 75%) 329s --nofuzzymatching Disable fuzzy matching 330s ========= SMOKE TEST: /usr/bin/poterminology =========== 330s 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] 330s input directory is searched for PO files, terminology PO file is output file 330s 330s Create a terminology file by reading a set of .po or .pot files to produce a 330s pootle-terminology.pot. See: 330s http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/poterminology.html for examples and usage 330s instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in po, pot formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in po, pot formats 330s -u UPDATEFILE, --update=UPDATEFILE 330s update terminology in UPDATEFILE 330s -S STOPFILE, --stopword-list=STOPFILE 330s read stopword (term exclusion) list from STOPFILE 330s (default /usr/share/pyshared/translate/share/stoplist- 330s en) 330s -F, --fold-titlecase fold "Title Case" to lowercase (default) 330s -C, --preserve-case preserve all uppercase/lowercase 330s -I, --ignore-case make all terms lowercase 330s --accelerator=ACCELERATORS 330s ignore the given accelerator characters when matching 330s -t LENGTH, --term-words=LENGTH 330s generate terms of up to LENGTH words (default 3) 330s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 330s 1) 330s --inputs-needed=MIN omit terms appearing in less than MIN input files 330s (default 2, or 1 if only one input file) 330s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 330s different messages (default 1) 330s --substr-needed=MIN omit substring-only terms appearing in less than MIN 330s different messages (default 2) 330s --locs-needed=MIN omit terms appearing in less than MIN different 330s original source files (default 2) 330s --sort=ORDER output sort order(s): frequency, dictionary, length 330s (may repeat option, default is all in above order) 330s --source-language=LANG 330s the source language code (default 'en') 330s -v, --invert invert the source and target languages for terminology 330s ========= SMOKE TEST: /usr/bin/pretranslate =========== 330s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 330s 330s Fill localization files with suggested translations based on translation 330s memory and existing translations. See: 330s http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/pretranslate.html for examples and usage 330s instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in po, pot, pot, xlf, xliff formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in po, pot, xlf, xliff formats 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in po, pot, xlf, xliff formats 330s -S, --timestamp skip conversion if the output file has newer timestamp 330s --tm=TM The file to use as translation memory when fuzzy 330s matching 330s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 330s The minimum similarity for inclusion (default: 75%) 330s --nofuzzymatching Disable fuzzy matching 330s ========= SMOKE TEST: /usr/bin/prop2po =========== 330s 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] 330s 330s Convert Java/Mozilla .properties files to Gettext PO localization files. 330s See: http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 330s 330s Options: 330s --version show program's version number and exit 330s -h, --help show this help message and exit 330s --manpage output a manpage based on the help 330s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 330s --errorlevel=ERRORLEVEL 330s show errorlevel as: none, message, exception, 330s traceback 330s -i INPUT, --input=INPUT 330s read from INPUT in lang, properties, strings formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in po, pot formats 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in lang, properties, strings 330s formats 330s -S, --timestamp skip conversion if the output file has newer timestamp 330s -P, --pot output PO Templates (.pot) rather than PO files (.po) 330s --personality=TYPE override the input file format: java, java-utf8, java- 330s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 330s strings, strings-utf8, joomla (for .properties files, 330s default: java) 330s --encoding=ENCODING override the encoding set by the personality 330s --duplicates=DUPLICATESTYLE 330s what to do with duplicate strings (identical source 330s text): merge, msgctxt (default: 'msgctxt') 331s ========= SMOKE TEST: /usr/bin/pydiff =========== 331s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 331s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 331s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 331s fromfile tofile 331s 331s positional arguments: 331s fromfile 331s tofile 331s 331s options: 331s -h, --help show this help message and exit 331s -i, --ignore-case Ignore case differences in file contents. 331s -U NUM, --unified NUM 331s Output NUM (default 3) lines of unified context 331s -r, --recursive Recursively compare any subdirectories found. 331s -N, --new-file Treat absent files as empty. 331s --unidirectional-new-file 331s Treat absent first files as empty. 331s -s, --report-identical-files 331s Report when two files are the same. 331s -x PAT, --exclude PAT 331s Exclude files that match PAT. 331s --fromcontains TEXT Only show changes where fromfile contains TEXT 331s --tocontains TEXT Only show changes where tofile contains TEXT 331s --contains TEXT Only show changes where fromfile or tofile contains 331s TEXT 331s -I, --ignore-case-contains 331s Ignore case differences when matching any of the 331s changes 331s --accelerator ACCELERATORS 331s ignores the given accelerator characters when matching 331s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 331s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 331s 331s Convert Python format .po files to PHP format .po files. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in po, pot formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in po, pot formats 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s ========= SMOKE TEST: /usr/bin/rc2po =========== 331s 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] 331s 331s Convert Windows RC files to Gettext PO localization files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in nls, rc formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in po, pot formats 331s -t TEMPLATE, --template=TEMPLATE 331s read from TEMPLATE in nls, rc formats 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s -P, --pot output PO Templates (.pot) rather than PO files (.po) 331s --charset=CHARSET charset to use to decode the RC files (autodetection 331s is used by default) 331s -l LANG, --lang=LANG LANG entry (default: None) 331s --sublang=SUBLANG SUBLANG entry (default: None) 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 331s ========= SMOKE TEST: /usr/bin/resx2po =========== 331s 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] 331s 331s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in resx format 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in po, pot formats 331s -t TEMPLATE, --template=TEMPLATE 331s read from TEMPLATE in resx format 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s -P, --pot output PO Templates (.pot) rather than PO files (.po) 331s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 331s everything) 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 331s ========= SMOKE TEST: /usr/bin/sub2po =========== 331s 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] 331s 331s Convert subtitle files to Gettext PO localization files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 331s 331s Options: 331s --version show program's version number and exit 331s -h, --help show this help message and exit 331s --manpage output a manpage based on the help 331s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 331s --errorlevel=ERRORLEVEL 331s show errorlevel as: none, message, exception, 331s traceback 331s -i INPUT, --input=INPUT 331s read from INPUT in ass, srt, ssa, sub formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in po, pot formats 331s -t TEMPLATE, --template=TEMPLATE 331s read from TEMPLATE in ass, srt, ssa, sub formats 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s -P, --pot output PO Templates (.pot) rather than PO files (.po) 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 332s ========= SMOKE TEST: /usr/bin/symb2po =========== 332s 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] 332s 332s Convert Symbian localisation files to Gettext PO localization files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in r01 format 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in po, pot formats 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s -P, --pot output PO Templates (.pot) rather than PO files (.po) 332s --duplicates=DUPLICATESTYLE 332s what to do with duplicate strings (identical source 332s text): merge, msgctxt (default: 'msgctxt') 332s ========= SMOKE TEST: /usr/bin/tbx2po =========== 332s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 332s 332s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in tbx format 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in po, pot formats 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s ========= SMOKE TEST: /usr/bin/tiki2po =========== 332s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 332s 332s Convert TikiWiki's language.php files to Gettext PO localization files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 332s 332s Options: 332s --version show program's version number and exit 332s -h, --help show this help message and exit 332s --manpage output a manpage based on the help 332s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 332s --errorlevel=ERRORLEVEL 332s show errorlevel as: none, message, exception, 332s traceback 332s -i INPUT, --input=INPUT 332s read from INPUT in php format 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in po, pot formats 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --include-unused Include strings in the unused section 332s ========= SMOKE TEST: /usr/bin/tmserver =========== 333s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 333s [-s SOURCE_LANG] [-b BIND] [-p PORT] 333s [--max-candidates MAX_CANDIDATES] 333s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 333s [--debug] 333s 333s options: 333s -h, --help show this help message and exit 333s -d TMDBFILE, --tmdb TMDBFILE 333s translation memory database file 333s -f TMFILES, --import-translation-file TMFILES 333s translation file to import into the database 333s -t TARGET_LANG, --import-target-lang TARGET_LANG 333s target language of translation files 333s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 333s source language of translation files 333s -b BIND, --bind BIND address to bind server to (default: localhost) 333s -p PORT, --port PORT port to listen on (default: 8888) 333s --max-candidates MAX_CANDIDATES 333s Maximum number of candidates 333s --min-similarity MIN_SIMILARITY 333s minimum similarity 333s --max-length MAX_LENGTH 333s Maxmimum string length 333s --debug enable debugging features 333s ========= SMOKE TEST: /usr/bin/ts2po =========== 333s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 333s 333s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in ts format 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in po, pot formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s -P, --pot output PO Templates (.pot) rather than PO files (.po) 333s --duplicates=DUPLICATESTYLE 333s what to do with duplicate strings (identical source 333s text): merge, msgctxt (default: 'msgctxt') 333s ========= SMOKE TEST: /usr/bin/txt2po =========== 333s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 333s 333s Convert plain text (.txt) files to Gettext PO localization files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in *, txt formats 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in po, pot formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s -P, --pot output PO Templates (.pot) rather than PO files (.po) 333s --encoding=ENCODING The encoding of the input file (default: UTF-8) 333s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 333s mediawiki 333s --no-segmentation Don't segment the file, treat it like a single message 333s --duplicates=DUPLICATESTYLE 333s what to do with duplicate strings (identical source 333s text): merge, msgctxt (default: 'msgctxt') 333s ========= SMOKE TEST: /usr/bin/web2py2po =========== 333s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 333s 333s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in py format 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in po, pot formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s -P, --pot output PO Templates (.pot) rather than PO files (.po) 333s --duplicates=DUPLICATESTYLE 333s what to do with duplicate strings (identical source 333s text): merge, msgctxt (default: 'msgctxt') 333s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 333s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 333s 333s Convert XLIFF translation files to OpenDocument (ODF) files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 333s 333s Options: 333s --version show program's version number and exit 333s -h, --help show this help message and exit 333s --manpage output a manpage based on the help 333s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 333s --errorlevel=ERRORLEVEL 333s show errorlevel as: none, message, exception, 333s traceback 333s -i INPUT, --input=INPUT 333s read from INPUT in xlf format 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 333s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 333s -t TEMPLATE, --template=TEMPLATE 333s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 333s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 333s formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 334s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 334s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 334s 334s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 334s file. See: http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in po, pot, xlf, xliff formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in oo, sdf formats 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in oo, sdf formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s -l LANG, --language=LANG 334s set target language code (e.g. af-ZA) [required] 334s --source-language=LANG 334s set source language code (default en-US) 334s -T, --keeptimestamp don't change the timestamps of the strings 334s --nonrecursiveoutput don't treat the output oo as a recursive store 334s --nonrecursivetemplate 334s don't treat the template oo as a recursive store 334s --skipsource don't output the source language, but fallback to it 334s where needed 334s --filteraction=ACTION 334s action on pofilter failure: none (default), warn, 334s exclude-serious, exclude-all 334s --fuzzy use translations marked fuzzy 334s --nofuzzy don't use translations marked fuzzy (default) 334s --multifile=MULTIFILESTYLE 334s how to split po/pot files (single, toplevel or 334s onefile) 334s ========= SMOKE TEST: /usr/bin/xliff2po =========== 334s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 334s 334s Convert XLIFF localization files to Gettext PO localization files. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in xlf, xliff formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in po, pot formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s -P, --pot output PO Templates (.pot) rather than PO files (.po) 334s --duplicates=DUPLICATESTYLE 334s what to do with duplicate strings (identical source 334s text): merge, msgctxt (default: 'msgctxt') 334s ========= SMOKE TEST: /usr/bin/yaml2po =========== 334s 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] 334s 334s Convert YAML files to Gettext PO localization files. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 334s 334s Options: 334s --version show program's version number and exit 334s -h, --help show this help message and exit 334s --manpage output a manpage based on the help 334s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 334s --errorlevel=ERRORLEVEL 334s show errorlevel as: none, message, exception, 334s traceback 334s -i INPUT, --input=INPUT 334s read from INPUT in yaml, yml formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in po, pot formats 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in yaml, yml formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s -P, --pot output PO Templates (.pot) rather than PO files (.po) 334s --duplicates=DUPLICATESTYLE 334s what to do with duplicate strings (identical source 334s text): merge, msgctxt (default: 'msgctxt') 335s autopkgtest [21:37:40]: test translate-toolkit: -----------------------] 335s autopkgtest [21:37:40]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 335s translate-toolkit PASS 336s autopkgtest [21:37:41]: test python3-translate: preparing testbed 456s autopkgtest [21:39:41]: testbed dpkg architecture: s390x 456s autopkgtest [21:39:41]: testbed apt version: 2.7.14build2 456s autopkgtest [21:39:41]: @@@@@@@@@@@@@@@@@@@@ test bed setup 457s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 457s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [16.8 kB] 457s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [118 kB] 457s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 457s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1181 kB] 458s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [192 kB] 458s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [982 kB] 458s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [19.2 kB] 459s Fetched 2584 kB in 2s (1381 kB/s) 459s Reading package lists... 461s Reading package lists... 461s Building dependency tree... 461s Reading state information... 462s Calculating upgrade... 462s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 462s Reading package lists... 462s Building dependency tree... 462s Reading state information... 463s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 463s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 463s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 463s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 464s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 465s Reading package lists... 465s Reading package lists... 465s Building dependency tree... 465s Reading state information... 466s Calculating upgrade... 466s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 466s Reading package lists... 466s Building dependency tree... 466s Reading state information... 467s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 472s Reading package lists... 472s Building dependency tree... 472s Reading state information... 472s Starting pkgProblemResolver with broken count: 0 472s Starting 2 pkgProblemResolver with broken count: 0 472s Done 473s The following additional packages will be installed: 473s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 473s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 473s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 473s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 473s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 473s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 473s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 473s python3-pytest python3-rapidfuzz python3-ruamel.yaml 473s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 473s python3-translate python3-vobject python3-xapian subversion 473s Suggested packages: 473s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 473s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 473s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 473s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 473s libapache2-mod-svn subversion-tools 473s Recommended packages: 473s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 473s python3-cssselect python3-html5lib 473s The following NEW packages will be installed: 473s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 473s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 473s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 473s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 473s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 473s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 473s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 473s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 473s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 473s python3-translate python3-vobject python3-xapian subversion 473s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 473s Need to get 11.2 MB/11.2 MB of archives. 473s After this operation, 47.7 MB of additional disk space will be used. 473s Get:1 /tmp/autopkgtest.gxjW8w/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [876 B] 473s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 473s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 473s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14-20240412-0ubuntu1 [151 kB] 473s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.21-14ubuntu2 [915 kB] 474s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 474s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.1build2 [115 kB] 474s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-1.1ubuntu7 [99.6 kB] 474s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 474s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 474s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 474s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 474s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-1build2 [50.7 kB] 474s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 474s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-1build4 [1391 kB] 475s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 475s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 475s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.11-2 [221 kB] 475s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-all s390x 3.12.3-0ubuntu1 [890 B] 475s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 475s Get:21 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 475s Get:22 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 475s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 475s Get:24 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 475s Get:25 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 475s Get:26 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 475s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 475s Get:28 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.6.2+ds-1 [1498 kB] 475s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-2 [188 kB] 475s Get:30 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.1-1 [1300 kB] 475s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 475s Get:32 http://ftpmaster.internal/ubuntu oracular/main s390x python3-packaging all 24.0-1 [41.1 kB] 475s Get:33 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 475s Get:34 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 475s Get:35 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pluggy all 1.4.0-1 [20.4 kB] 475s Get:36 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pytest all 7.4.4-1 [305 kB] 475s Get:37 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x python3-ruamel.yaml.clib s390x 0.2.8+ds-1 [140 kB] 475s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 475s Get:39 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 475s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 475s Get:41 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.12.2-1ubuntu1 [318 kB] 475s Get:42 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 475s Get:43 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-xapian s390x 1.4.22-1build5 [366 kB] 476s Get:44 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-1build4 [912 kB] 476s Get:45 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 476s Get:46 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 476s Preconfiguring packages ... 476s Fetched 11.2 MB in 3s (3814 kB/s) 476s Selecting previously unselected package emacsen-common. 477s (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 ... 54494 files and directories currently installed.) 477s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 477s Unpacking emacsen-common (3.0.5) ... 477s Selecting previously unselected package dictionaries-common. 477s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 477s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 477s Unpacking dictionaries-common (1.29.7) ... 477s Selecting previously unselected package libgomp1:s390x. 477s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_s390x.deb ... 477s Unpacking libgomp1:s390x (14-20240412-0ubuntu1) ... 477s Selecting previously unselected package gettext. 477s Preparing to unpack .../03-gettext_0.21-14ubuntu2_s390x.deb ... 477s Unpacking gettext (0.21-14ubuntu2) ... 477s Selecting previously unselected package hunspell-en-us. 477s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 477s Unpacking hunspell-en-us (1:2020.12.07-2) ... 477s Selecting previously unselected package libapr1t64:s390x. 477s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_s390x.deb ... 477s Unpacking libapr1t64:s390x (1.7.2-3.1build2) ... 477s Selecting previously unselected package libaprutil1t64:s390x. 477s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_s390x.deb ... 477s Unpacking libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 477s Selecting previously unselected package libaspell15:s390x. 477s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 477s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 477s Selecting previously unselected package libhunspell-1.7-0:s390x. 477s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 477s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 477s Selecting previously unselected package libenchant-2-2:s390x. 477s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 477s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 477s Selecting previously unselected package libexttextcat-data. 477s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 477s Unpacking libexttextcat-data (3.4.7-1build1) ... 477s Selecting previously unselected package libserf-1-1:s390x. 477s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_s390x.deb ... 477s Unpacking libserf-1-1:s390x (1.3.10-1build2) ... 477s Selecting previously unselected package libutf8proc3:s390x. 477s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 477s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 477s Selecting previously unselected package libsvn1:s390x. 477s Preparing to unpack .../13-libsvn1_1.14.3-1build4_s390x.deb ... 477s Unpacking libsvn1:s390x (1.14.3-1build4) ... 477s Selecting previously unselected package libxapian30:s390x. 477s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 477s Unpacking libxapian30:s390x (1.4.22-1build1) ... 477s Selecting previously unselected package libxslt1.1:s390x. 477s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 477s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 477s Selecting previously unselected package python3-aeidon. 477s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 477s Unpacking python3-aeidon (1.11-2) ... 477s Selecting previously unselected package python3-all. 477s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_s390x.deb ... 477s Unpacking python3-all (3.12.3-0ubuntu1) ... 477s Selecting previously unselected package python3-soupsieve. 477s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 477s Unpacking python3-soupsieve (2.5-1) ... 477s Selecting previously unselected package python3-bs4. 477s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 477s Unpacking python3-bs4 (4.12.3-1) ... 477s Selecting previously unselected package python3-jaraco.functools. 477s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 477s Unpacking python3-jaraco.functools (4.0.0-1) ... 477s Selecting previously unselected package python3-cheroot. 477s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 477s Unpacking python3-cheroot (10.0.0+ds1-2) ... 477s Selecting previously unselected package python3-dateutil. 477s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 477s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 477s Selecting previously unselected package python3-diff-match-patch. 477s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 477s Unpacking python3-diff-match-patch (20230430-1) ... 477s Selecting previously unselected package python3-enchant. 477s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 477s Unpacking python3-enchant (3.2.2-1) ... 477s Selecting previously unselected package python3-iniconfig. 477s Preparing to unpack .../25-python3-iniconfig_1.1.1-2_all.deb ... 477s Unpacking python3-iniconfig (1.1.1-2) ... 477s Selecting previously unselected package python3-rapidfuzz. 477s Preparing to unpack .../26-python3-rapidfuzz_3.6.2+ds-1_s390x.deb ... 477s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 477s Selecting previously unselected package python3-levenshtein. 477s Preparing to unpack .../27-python3-levenshtein_0.25.1-2_s390x.deb ... 477s Unpacking python3-levenshtein (0.25.1-2) ... 477s Selecting previously unselected package python3-lxml:s390x. 477s Preparing to unpack .../28-python3-lxml_5.2.1-1_s390x.deb ... 477s Unpacking python3-lxml:s390x (5.2.1-1) ... 477s Selecting previously unselected package python3-mistletoe. 477s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 477s Unpacking python3-mistletoe (1.3.0-1) ... 477s Selecting previously unselected package python3-packaging. 477s Preparing to unpack .../30-python3-packaging_24.0-1_all.deb ... 477s Unpacking python3-packaging (24.0-1) ... 477s Selecting previously unselected package python3-ply. 477s Preparing to unpack .../31-python3-ply_3.11-6_all.deb ... 477s Unpacking python3-ply (3.11-6) ... 477s Selecting previously unselected package python3-phply. 477s Preparing to unpack .../32-python3-phply_1.2.6-1_all.deb ... 477s Unpacking python3-phply (1.2.6-1) ... 477s Selecting previously unselected package python3-pluggy. 477s Preparing to unpack .../33-python3-pluggy_1.4.0-1_all.deb ... 477s Unpacking python3-pluggy (1.4.0-1) ... 477s Selecting previously unselected package python3-pytest. 477s Preparing to unpack .../34-python3-pytest_7.4.4-1_all.deb ... 477s Unpacking python3-pytest (7.4.4-1) ... 478s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 478s Preparing to unpack .../35-python3-ruamel.yaml.clib_0.2.8+ds-1_s390x.deb ... 478s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8+ds-1) ... 478s Selecting previously unselected package python3-ruamel.yaml. 478s Preparing to unpack .../36-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 478s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 478s Selecting previously unselected package python3-simplejson. 478s Preparing to unpack .../37-python3-simplejson_3.19.2-1build2_s390x.deb ... 478s Unpacking python3-simplejson (3.19.2-1build2) ... 478s Selecting previously unselected package python3-syrupy. 478s Preparing to unpack .../38-python3-syrupy_4.6.1-1_all.deb ... 478s Unpacking python3-syrupy (4.6.1-1) ... 478s Selecting previously unselected package python3-translate. 478s Preparing to unpack .../39-python3-translate_3.12.2-1ubuntu1_all.deb ... 478s Unpacking python3-translate (3.12.2-1ubuntu1) ... 478s Selecting previously unselected package python3-vobject. 478s Preparing to unpack .../40-python3-vobject_0.9.6.1-2_all.deb ... 478s Unpacking python3-vobject (0.9.6.1-2) ... 478s Selecting previously unselected package python3-xapian. 478s Preparing to unpack .../41-python3-xapian_1.4.22-1build5_s390x.deb ... 478s Unpacking python3-xapian (1.4.22-1build5) ... 478s Selecting previously unselected package subversion. 478s Preparing to unpack .../42-subversion_1.14.3-1build4_s390x.deb ... 478s Unpacking subversion (1.14.3-1build4) ... 478s Selecting previously unselected package python3-iniparse. 478s Preparing to unpack .../43-python3-iniparse_0.5-2_all.deb ... 478s Unpacking python3-iniparse (0.5-2) ... 478s Selecting previously unselected package python3-pycountry. 478s Preparing to unpack .../44-python3-pycountry_23.12.11+ds1-2_all.deb ... 478s Unpacking python3-pycountry (23.12.11+ds1-2) ... 478s Selecting previously unselected package autopkgtest-satdep. 478s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 478s Unpacking autopkgtest-satdep (0) ... 478s Setting up python3-iniconfig (1.1.1-2) ... 478s Setting up libxapian30:s390x (1.4.22-1build1) ... 478s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 479s Setting up python3-diff-match-patch (20230430-1) ... 479s Setting up python3-jaraco.functools (4.0.0-1) ... 479s Setting up python3-aeidon (1.11-2) ... 480s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 480s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 480s Setting up python3-ply (3.11-6) ... 480s Setting up python3-ruamel.yaml.clib:s390x (0.2.8+ds-1) ... 480s Setting up python3-all (3.12.3-0ubuntu1) ... 480s Setting up libgomp1:s390x (14-20240412-0ubuntu1) ... 480s Setting up python3-simplejson (3.19.2-1build2) ... 480s Setting up python3-packaging (24.0-1) ... 480s Setting up emacsen-common (3.0.5) ... 480s Setting up python3-cheroot (10.0.0+ds1-2) ... 481s Setting up python3-pycountry (23.12.11+ds1-2) ... 481s Setting up python3-xapian (1.4.22-1build5) ... 481s Setting up python3-pluggy (1.4.0-1) ... 481s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 481s Setting up python3-mistletoe (1.3.0-1) ... 482s Setting up libexttextcat-data (3.4.7-1build1) ... 482s Setting up libapr1t64:s390x (1.7.2-3.1build2) ... 482s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 482s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 482s Setting up python3-levenshtein (0.25.1-2) ... 482s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 482s Setting up python3-soupsieve (2.5-1) ... 482s Setting up python3-iniparse (0.5-2) ... 483s Setting up libaprutil1t64:s390x (1.6.3-1.1ubuntu7) ... 483s Setting up python3-vobject (0.9.6.1-2) ... 483s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 483s patterns['name'] = '[a-zA-Z0-9\-_]+' 483s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 483s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 483s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 483s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 483s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 483s """ 483s Setting up gettext (0.21-14ubuntu2) ... 483s Setting up python3-phply (1.2.6-1) ... 483s Setting up dictionaries-common (1.29.7) ... 484s Setting up python3-pytest (7.4.4-1) ... 484s Setting up python3-syrupy (4.6.1-1) ... 485s Setting up libserf-1-1:s390x (1.3.10-1build2) ... 485s Setting up python3-bs4 (4.12.3-1) ... 485s Setting up python3-lxml:s390x (5.2.1-1) ... 485s Setting up hunspell-en-us (1:2020.12.07-2) ... 485s Setting up libsvn1:s390x (1.14.3-1build4) ... 485s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 485s Setting up subversion (1.14.3-1build4) ... 485s Setting up python3-enchant (3.2.2-1) ... 485s Setting up python3-translate (3.12.2-1ubuntu1) ... 486s Setting up autopkgtest-satdep (0) ... 486s Processing triggers for man-db (2.12.0-4build2) ... 487s Processing triggers for install-info (7.1-3build2) ... 487s Processing triggers for libc-bin (2.39-0ubuntu8) ... 487s Processing triggers for dictionaries-common (1.29.7) ... 492s (Reading database ... 57950 files and directories currently installed.) 492s Removing autopkgtest-satdep (0) ... 495s autopkgtest [21:40:20]: test python3-translate: [----------------------- 495s ============================= test session starts ============================== 495s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 495s cachedir: .pytest_cache 495s rootdir: /tmp/autopkgtest.gxjW8w/autopkgtest_tmp 495s plugins: syrupy-4.6.1 504s collecting ... collected 3313 items / 2 skipped 504s 504s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 504s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 504s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 504s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 504s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 504s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 504s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 504s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 504s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 504s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 504s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 504s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 504s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 504s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 504s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 504s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 505s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 505s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 505s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 505s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 505s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 505s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 505s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 505s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 505s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 505s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 505s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 505s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 505s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 505s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 505s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 505s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 505s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 505s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 505s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 505s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 505s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 506s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 506s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 506s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 506s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 506s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 506s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 506s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 506s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 506s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 506s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 506s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 506s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 506s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 506s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 506s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 506s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 506s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 506s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 506s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 507s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 507s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 507s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 507s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 507s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 507s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 507s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 507s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 507s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 507s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 507s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 507s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 507s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 507s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 507s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 507s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 508s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 508s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 508s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 508s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 508s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 508s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 508s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 508s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 508s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 508s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 508s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 508s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 508s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 508s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 508s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 508s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 508s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 509s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 509s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 509s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 509s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 509s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 509s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 509s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 509s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 509s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 509s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 509s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 509s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 509s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 509s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 509s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 509s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 509s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 509s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 509s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 509s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 509s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 510s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 510s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 510s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 510s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 510s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 510s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 510s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 510s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 510s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 510s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 510s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 510s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 510s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 510s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 510s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 510s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 510s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 510s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 510s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 510s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 510s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 510s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 510s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 510s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 510s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 510s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 510s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 510s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 510s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 510s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 510s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 510s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 510s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 510s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 510s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 510s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 510s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 510s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 510s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 510s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 510s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 510s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 510s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 510s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 510s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 510s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 510s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 510s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 510s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 510s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 510s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 510s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 510s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 510s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 510s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 510s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 510s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 510s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 510s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 510s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 510s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 510s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 510s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 510s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 510s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 511s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 511s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 511s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 511s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 511s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 511s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 511s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 511s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 511s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 511s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 511s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 511s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 511s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 511s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 511s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 511s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 511s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 511s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 511s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 511s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 512s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 512s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 512s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 512s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 512s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 512s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 512s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 512s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 512s 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%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 512s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 512s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 512s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 512s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 512s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 512s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 512s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 512s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 512s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 512s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 512s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 512s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 512s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 512s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 512s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 512s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 512s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 513s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 513s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 513s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 513s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 513s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 513s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 513s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 513s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 514s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 514s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 514s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 514s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 514s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 514s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 514s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 514s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 514s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 514s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 514s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 514s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 514s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 514s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 514s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 515s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 515s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 515s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 515s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 515s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 515s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 515s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 515s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 515s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 515s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 515s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 515s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 515s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 515s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 515s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 515s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 515s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 515s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 515s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 515s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 515s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 515s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 515s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 515s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 515s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 515s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 515s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 517s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 517s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 517s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 517s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 517s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 517s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 517s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 517s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 517s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 517s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 517s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 517s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 517s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 517s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 517s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 517s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 517s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 517s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 517s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 517s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 517s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 517s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 517s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 517s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 517s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 517s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 517s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 517s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 517s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 517s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 517s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 518s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 518s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 518s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 518s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 518s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 518s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 518s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 518s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 518s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 518s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 518s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 518s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 518s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 518s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 518s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 518s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 518s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 518s 518s =============================== warnings summary =============================== 518s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 518s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gxjW8w/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 518s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 518s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 518s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 518s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 518s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 518s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 518s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 518s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 518s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 518s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 518s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 518s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 518s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 518s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 518s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 518s Warning: Could not find accesskey for key.accesskey 518s 518s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 518s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 518s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 518s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 518s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 518s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gxjW8w/autopkgtest_tmp/tests/translate/convert/test.idml'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 518s Warning: unclosed file <_io.BufferedReader name='translation.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 518s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 518s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 518s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 518s Warning: Could not find accesskey for prop.accesskey 518s 518s tests/translate/convert/test_po2tmx.py: 26 warnings 518s tests/translate/filters/test_pofilter.py: 13 warnings 518s tests/translate/storage/test_tbx.py: 17 warnings 518s tests/translate/storage/test_tmx.py: 24 warnings 518s 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' 518s 518s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 518s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 518s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 518s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 518s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 518s Enable tracemalloc to get traceback where the object was allocated. 518s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 518s 519s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 519s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 519s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 519s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 519s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 519s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 519s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 519s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 519s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 519s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gxjW8w/autopkgtest_tmp/tests/translate/convert/test.odt'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 519s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 519s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 519s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 519s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 519s Enable tracemalloc to get traceback where the object was allocated. 519s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 519s 519s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 519s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 519s 519s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 519s Warning: DTD file '' does not validate 519s 519s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 519s --------------------------- snapshot report summary ---------------------------- 519s 23 snapshots passed. 519s =========================== short test summary info ============================ 519s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 519s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 519s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 519s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 519s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 519s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 519s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 519s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 519s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 519s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 519s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 519s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 519s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 519s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 519s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 519s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 519s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 519s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 519s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 519s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 519s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 519s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 519s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 519s 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. 519s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 519s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 519s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 519s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 519s 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 519s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 519s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 519s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 519s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 519s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 519s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 519s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 519s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 519s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 519s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 519s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 519s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 519s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 519s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 519s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 519s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 519s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 519s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 23.53s ========== 520s autopkgtest [21:40:45]: test python3-translate: -----------------------] 521s python3-translate PASS 521s autopkgtest [21:40:46]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 521s autopkgtest [21:40:46]: test python3-translate-commands: preparing testbed 523s Reading package lists... 523s Building dependency tree... 523s Reading state information... 523s Starting pkgProblemResolver with broken count: 0 523s Starting 2 pkgProblemResolver with broken count: 0 523s Done 524s The following additional packages will be installed: 524s translate-toolkit 524s Recommended packages: 524s translate-toolkit-doc 524s The following NEW packages will be installed: 524s autopkgtest-satdep translate-toolkit 524s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 524s Need to get 88.2 kB/89.1 kB of archives. 524s After this operation, 253 kB of additional disk space will be used. 524s Get:1 /tmp/autopkgtest.gxjW8w/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [888 B] 524s Get:2 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 525s Fetched 88.2 kB in 0s (284 kB/s) 525s Selecting previously unselected package translate-toolkit. 525s (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 ... 57950 files and directories currently installed.) 525s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 525s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 525s Selecting previously unselected package autopkgtest-satdep. 525s Preparing to unpack .../3-autopkgtest-satdep.deb ... 525s Unpacking autopkgtest-satdep (0) ... 525s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 525s Setting up autopkgtest-satdep (0) ... 525s Processing triggers for man-db (2.12.0-4build2) ... 528s (Reading database ... 58123 files and directories currently installed.) 528s Removing autopkgtest-satdep (0) ... 529s autopkgtest [21:40:54]: test python3-translate-commands: [----------------------- 529s ============================= test session starts ============================== 529s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 529s cachedir: .pytest_cache 529s rootdir: /tmp/autopkgtest.gxjW8w/autopkgtest_tmp 529s plugins: syrupy-4.6.1 537s collecting ... collected 3313 items / 2 skipped 537s 537s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 537s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 537s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 537s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 537s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 537s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 537s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 537s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 537s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 537s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 537s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 537s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 537s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 537s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 537s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 537s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 537s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 537s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 537s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 537s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 538s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 538s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 538s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 538s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 538s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 538s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 538s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 538s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 538s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 538s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 538s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 538s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 538s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 538s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 538s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 538s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 538s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 538s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 538s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 538s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 539s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 539s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 539s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 539s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 539s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 539s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 539s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 539s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 539s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 539s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 539s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 539s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 539s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 539s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 539s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 539s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 539s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 539s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 539s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 539s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 539s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 539s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 540s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 540s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 540s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 540s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 540s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 540s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 540s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 540s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 540s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 541s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 541s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 541s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 541s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 541s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 541s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 541s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 541s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 541s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 541s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 541s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 541s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 541s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 541s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 541s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 541s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 541s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 541s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 541s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 541s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 541s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 541s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 541s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 541s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 542s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 542s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 542s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 542s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 542s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 542s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 542s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 542s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 542s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 542s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 542s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 542s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 542s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 542s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 543s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 543s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 543s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 543s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 543s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 543s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 543s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 543s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 543s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 543s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 543s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 543s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 543s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 543s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 543s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 543s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 543s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 543s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 543s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 543s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 543s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 543s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 543s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 543s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 543s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 543s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 543s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 543s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 543s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 543s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 543s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 543s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 543s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 543s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 543s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 543s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 543s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 543s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 543s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 543s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 543s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 543s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 543s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 543s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 543s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 543s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 543s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 543s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 543s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 543s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 543s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 543s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 543s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 543s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 543s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 543s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 543s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 543s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 543s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 543s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 543s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 543s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 543s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 543s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 544s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 544s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 544s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 544s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 544s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 544s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 544s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 544s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 544s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 544s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 544s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 544s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 544s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 544s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 544s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 544s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 544s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 544s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 544s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 544s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 545s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 545s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 545s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 545s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 545s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 545s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 545s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 545s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 545s 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%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 545s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 545s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 545s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 545s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 545s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 545s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 545s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 545s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 545s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 545s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 545s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 545s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 545s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 546s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 546s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 546s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 546s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 546s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 546s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 546s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 546s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 548s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 548s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 548s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 548s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 548s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 548s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 548s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 548s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 548s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 548s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 548s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 548s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 548s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 548s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 548s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 548s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 548s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 548s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 548s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 549s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 549s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 549s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 549s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 549s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 549s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 549s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 549s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 549s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 549s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 549s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 549s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 549s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 549s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 549s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 549s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 549s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 549s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 549s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 549s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 549s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 551s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 551s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 551s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 551s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 551s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 551s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 551s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 551s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 551s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 551s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 551s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 551s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 551s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 551s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 551s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 551s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 551s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 552s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 552s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 552s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 552s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 552s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 552s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 553s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 553s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 553s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 553s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 553s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 553s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 553s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 553s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 553s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 553s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 553s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 553s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 553s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 553s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 553s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 553s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 553s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 553s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 553s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 554s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 554s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 554s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 554s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 554s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 554s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 554s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 554s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 555s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 555s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 555s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 555s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 555s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 555s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 555s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 556s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 556s 556s =============================== warnings summary =============================== 556s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 556s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gxjW8w/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 556s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 556s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 556s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 556s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 556s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 556s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 556s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 556s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 556s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 556s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 556s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 556s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 556s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 556s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 556s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 556s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 556s Warning: Could not find accesskey for key.accesskey 556s 556s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 556s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 556s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 556s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 556s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 556s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gxjW8w/autopkgtest_tmp/tests/translate/convert/test.idml'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 556s Warning: unclosed file <_io.BufferedReader name='translation.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 556s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 556s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 556s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 556s Warning: Could not find accesskey for prop.accesskey 556s 556s tests/translate/convert/test_po2tmx.py: 26 warnings 556s tests/translate/filters/test_pofilter.py: 13 warnings 556s tests/translate/storage/test_tbx.py: 17 warnings 556s tests/translate/storage/test_tmx.py: 24 warnings 556s 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' 556s 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 556s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 556s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 556s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 556s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 556s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 556s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 556s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 556s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 556s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 556s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 556s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gxjW8w/autopkgtest_tmp/tests/translate/convert/test.odt'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 556s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 556s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 556s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 556s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 556s Enable tracemalloc to get traceback where the object was allocated. 556s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 556s 556s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 556s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 556s 556s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 556s Warning: DTD file '' does not validate 556s 556s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 556s --------------------------- snapshot report summary ---------------------------- 556s 23 snapshots passed. 556s =========================== short test summary info ============================ 556s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 556s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 556s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 556s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 556s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 556s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 556s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 556s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 556s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 556s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 556s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 556s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 556s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 556s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 556s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 556s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 556s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 556s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 556s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 556s 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. 556s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 556s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 556s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 556s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 556s 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 556s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 556s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 556s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 556s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 556s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 556s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 556s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 556s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 556s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 556s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 556s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 556s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 556s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 556s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 556s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 556s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 556s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 556s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 26.83s ========== 557s autopkgtest [21:41:22]: test python3-translate-commands: -----------------------] 558s autopkgtest [21:41:23]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 558s python3-translate-commands PASS 558s autopkgtest [21:41:23]: @@@@@@@@@@@@@@@@@@@@ summary 558s translate-toolkit PASS 558s python3-translate PASS 558s python3-translate-commands PASS 571s Creating nova instance adt-oracular-s390x-translate-toolkit-20240510-213205-juju-7f2275-prod-proposed-migration-environment-2-07a1946a-1d7e-4929-85d9-a1b2048b762d from image adt/ubuntu-oracular-s390x-server-20240510.img (UUID b1854012-9c8c-4577-b826-f1e2bdc9d9f2)... 571s Creating nova instance adt-oracular-s390x-translate-toolkit-20240510-213205-juju-7f2275-prod-proposed-migration-environment-2-07a1946a-1d7e-4929-85d9-a1b2048b762d from image adt/ubuntu-oracular-s390x-server-20240510.img (UUID b1854012-9c8c-4577-b826-f1e2bdc9d9f2)...