0s autopkgtest [06:40:54]: starting date and time: 2024-05-05 06:40:54+0000 0s autopkgtest [06:40:54]: git checkout: 699e7f9f ssh-setup/nova: explicitely set 'fqdn' in cloud-init 0s autopkgtest [06:40:54]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.hg48nryu/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-3@bos03-arm64-1.secgroup --name adt-oracular-arm64-translate-toolkit-20240505-064054-juju-7f2275-prod-proposed-migration-environment-3-0e386e65-5f04-4ca5-a9a8-b844556c202b --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 290s autopkgtest [06:45:44]: testbed dpkg architecture: arm64 291s autopkgtest [06:45:45]: testbed apt version: 2.7.14build2 291s autopkgtest [06:45:45]: @@@@@@@@@@@@@@@@@@@@ test bed setup 291s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 291s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 291s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1708 kB] 292s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 292s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [110 kB] 292s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [188 kB] 292s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [13.1 kB] 292s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [1288 kB] 292s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [22.1 kB] 292s Fetched 3420 kB in 1s (3011 kB/s) 292s Reading package lists... 295s Reading package lists... 295s Building dependency tree... 295s Reading state information... 296s Calculating upgrade... 296s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 296s Reading package lists... 297s Building dependency tree... 297s Reading state information... 297s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 298s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 298s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 298s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 298s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 299s Reading package lists... 299s Reading package lists... 299s Building dependency tree... 299s Reading state information... 300s Calculating upgrade... 300s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 300s Reading package lists... 301s Building dependency tree... 301s Reading state information... 301s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 304s autopkgtest [06:45:58]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 304s autopkgtest [06:45:58]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 308s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 308s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 308s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 308s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 308s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 308s gpgv: Can't check signature: No public key 308s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 308s autopkgtest [06:46:02]: testing package translate-toolkit version 3.12.2-1ubuntu1 309s autopkgtest [06:46:03]: build not needed 309s autopkgtest [06:46:03]: test translate-toolkit: preparing testbed 311s Reading package lists... 311s Building dependency tree... 311s Reading state information... 311s Starting pkgProblemResolver with broken count: 0 311s Starting 2 pkgProblemResolver with broken count: 0 311s Done 312s The following additional packages will be installed: 312s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 312s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 312s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 312s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 312s python3-diff-match-patch python3-enchant python3-iniparse 312s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 312s python3-more-itertools python3-phply python3-ply python3-pycountry 312s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 312s python3-simplejson python3-soupsieve python3-translate python3-vobject 312s python3-xapian subversion translate-toolkit 312s Suggested packages: 312s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 312s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 312s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 312s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 312s libapache2-mod-svn subversion-tools 312s Recommended packages: 312s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 312s python3-cssselect python3-html5lib translate-toolkit-doc 312s The following NEW packages will be installed: 312s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 312s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 312s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 312s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 312s python3-diff-match-patch python3-enchant python3-iniparse 312s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 312s python3-more-itertools python3-phply python3-ply python3-pycountry 312s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 312s python3-simplejson python3-soupsieve python3-translate python3-vobject 312s python3-xapian subversion translate-toolkit 312s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 312s Need to get 9929 kB/9930 kB of archives. 312s After this operation, 46.1 MB of additional disk space will be used. 312s Get:1 /tmp/autopkgtest.cYwETr/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [868 B] 312s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 312s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 312s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14-20240412-0ubuntu1 [144 kB] 312s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.21-14ubuntu2 [845 kB] 312s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 313s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.1build2 [105 kB] 313s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-1.1ubuntu7 [93.9 kB] 313s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 313s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 313s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 313s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 313s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-1build2 [48.6 kB] 313s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 313s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-1build4 [1339 kB] 313s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 313s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 313s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.11-2 [221 kB] 313s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 313s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 313s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.2.0-1 [52.9 kB] 313s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 313s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 313s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 313s Get:25 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 313s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 313s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.6.2+ds-1 [990 kB] 313s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-2 [108 kB] 313s Get:29 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.1-1 [1179 kB] 313s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 313s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 313s Get:32 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 313s Get:33 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8+ds-1 [127 kB] 313s Get:34 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 313s Get:35 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 313s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.12.2-1ubuntu1 [318 kB] 313s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 313s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-xapian arm64 1.4.22-1build5 [355 kB] 313s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-1build4 [906 kB] 313s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 313s Get:41 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 313s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 314s Preconfiguring packages ... 314s Fetched 9929 kB in 1s (7523 kB/s) 314s Selecting previously unselected package emacsen-common. 314s (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 ... 77729 files and directories currently installed.) 314s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 314s Unpacking emacsen-common (3.0.5) ... 314s Selecting previously unselected package dictionaries-common. 314s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 314s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 314s Unpacking dictionaries-common (1.29.7) ... 314s Selecting previously unselected package libgomp1:arm64. 314s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_arm64.deb ... 314s Unpacking libgomp1:arm64 (14-20240412-0ubuntu1) ... 314s Selecting previously unselected package gettext. 314s Preparing to unpack .../03-gettext_0.21-14ubuntu2_arm64.deb ... 314s Unpacking gettext (0.21-14ubuntu2) ... 314s Selecting previously unselected package hunspell-en-us. 314s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 314s Unpacking hunspell-en-us (1:2020.12.07-2) ... 314s Selecting previously unselected package libapr1t64:arm64. 314s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_arm64.deb ... 314s Unpacking libapr1t64:arm64 (1.7.2-3.1build2) ... 314s Selecting previously unselected package libaprutil1t64:arm64. 314s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_arm64.deb ... 314s Unpacking libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 314s Selecting previously unselected package libaspell15:arm64. 314s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 314s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 314s Selecting previously unselected package libhunspell-1.7-0:arm64. 314s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 314s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 314s Selecting previously unselected package libenchant-2-2:arm64. 314s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 314s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 314s Selecting previously unselected package libexttextcat-data. 314s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 314s Unpacking libexttextcat-data (3.4.7-1build1) ... 314s Selecting previously unselected package libserf-1-1:arm64. 314s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_arm64.deb ... 314s Unpacking libserf-1-1:arm64 (1.3.10-1build2) ... 314s Selecting previously unselected package libutf8proc3:arm64. 314s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 314s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 314s Selecting previously unselected package libsvn1:arm64. 315s Preparing to unpack .../13-libsvn1_1.14.3-1build4_arm64.deb ... 315s Unpacking libsvn1:arm64 (1.14.3-1build4) ... 315s Selecting previously unselected package libxapian30:arm64. 315s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 315s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 315s Selecting previously unselected package libxslt1.1:arm64. 315s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 315s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 315s Selecting previously unselected package python3-aeidon. 315s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 315s Unpacking python3-aeidon (1.11-2) ... 315s Selecting previously unselected package python3-soupsieve. 315s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 315s Unpacking python3-soupsieve (2.5-1) ... 315s Selecting previously unselected package python3-bs4. 315s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 315s Unpacking python3-bs4 (4.12.3-1) ... 315s Selecting previously unselected package python3-more-itertools. 315s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 315s Unpacking python3-more-itertools (10.2.0-1) ... 315s Selecting previously unselected package python3-jaraco.functools. 315s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 315s Unpacking python3-jaraco.functools (4.0.0-1) ... 315s Selecting previously unselected package python3-cheroot. 315s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 315s Unpacking python3-cheroot (10.0.0+ds1-2) ... 315s Selecting previously unselected package python3-dateutil. 315s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 315s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 315s Selecting previously unselected package python3-diff-match-patch. 315s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 315s Unpacking python3-diff-match-patch (20230430-1) ... 315s Selecting previously unselected package python3-enchant. 315s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 315s Unpacking python3-enchant (3.2.2-1) ... 315s Selecting previously unselected package python3-rapidfuzz. 315s Preparing to unpack .../25-python3-rapidfuzz_3.6.2+ds-1_arm64.deb ... 315s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 315s Selecting previously unselected package python3-levenshtein. 315s Preparing to unpack .../26-python3-levenshtein_0.25.1-2_arm64.deb ... 315s Unpacking python3-levenshtein (0.25.1-2) ... 315s Selecting previously unselected package python3-lxml:arm64. 315s Preparing to unpack .../27-python3-lxml_5.2.1-1_arm64.deb ... 315s Unpacking python3-lxml:arm64 (5.2.1-1) ... 315s Selecting previously unselected package python3-mistletoe. 315s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 315s Unpacking python3-mistletoe (1.3.0-1) ... 315s Selecting previously unselected package python3-ply. 315s Preparing to unpack .../29-python3-ply_3.11-6_all.deb ... 315s Unpacking python3-ply (3.11-6) ... 315s Selecting previously unselected package python3-phply. 315s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 315s Unpacking python3-phply (1.2.6-1) ... 315s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 315s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8+ds-1_arm64.deb ... 315s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8+ds-1) ... 315s Selecting previously unselected package python3-ruamel.yaml. 315s Preparing to unpack .../32-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 315s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 315s Selecting previously unselected package python3-simplejson. 315s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_arm64.deb ... 315s Unpacking python3-simplejson (3.19.2-1build2) ... 315s Selecting previously unselected package python3-translate. 315s Preparing to unpack .../34-python3-translate_3.12.2-1ubuntu1_all.deb ... 315s Unpacking python3-translate (3.12.2-1ubuntu1) ... 315s Selecting previously unselected package python3-vobject. 315s Preparing to unpack .../35-python3-vobject_0.9.6.1-2_all.deb ... 315s Unpacking python3-vobject (0.9.6.1-2) ... 315s Selecting previously unselected package python3-xapian. 315s Preparing to unpack .../36-python3-xapian_1.4.22-1build5_arm64.deb ... 315s Unpacking python3-xapian (1.4.22-1build5) ... 315s Selecting previously unselected package subversion. 315s Preparing to unpack .../37-subversion_1.14.3-1build4_arm64.deb ... 315s Unpacking subversion (1.14.3-1build4) ... 315s Selecting previously unselected package translate-toolkit. 316s Preparing to unpack .../38-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 316s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 316s Selecting previously unselected package python3-iniparse. 316s Preparing to unpack .../39-python3-iniparse_0.5-2_all.deb ... 316s Unpacking python3-iniparse (0.5-2) ... 316s Selecting previously unselected package python3-pycountry. 316s Preparing to unpack .../40-python3-pycountry_23.12.11+ds1-2_all.deb ... 316s Unpacking python3-pycountry (23.12.11+ds1-2) ... 316s Selecting previously unselected package autopkgtest-satdep. 316s Preparing to unpack .../41-1-autopkgtest-satdep.deb ... 316s Unpacking autopkgtest-satdep (0) ... 316s Setting up python3-more-itertools (10.2.0-1) ... 316s Setting up libxapian30:arm64 (1.4.22-1build1) ... 316s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 316s Setting up python3-diff-match-patch (20230430-1) ... 316s Setting up python3-jaraco.functools (4.0.0-1) ... 316s Setting up python3-aeidon (1.11-2) ... 316s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 316s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 316s Setting up python3-ply (3.11-6) ... 317s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8+ds-1) ... 317s Setting up libgomp1:arm64 (14-20240412-0ubuntu1) ... 317s Setting up python3-simplejson (3.19.2-1build2) ... 317s Setting up emacsen-common (3.0.5) ... 317s Setting up python3-cheroot (10.0.0+ds1-2) ... 317s Setting up python3-pycountry (23.12.11+ds1-2) ... 317s Setting up python3-xapian (1.4.22-1build5) ... 317s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 317s Setting up python3-mistletoe (1.3.0-1) ... 318s Setting up libexttextcat-data (3.4.7-1build1) ... 318s Setting up libapr1t64:arm64 (1.7.2-3.1build2) ... 318s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 318s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 318s Setting up python3-levenshtein (0.25.1-2) ... 318s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 318s Setting up python3-soupsieve (2.5-1) ... 318s Setting up python3-iniparse (0.5-2) ... 318s Setting up libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 318s Setting up python3-vobject (0.9.6.1-2) ... 318s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 318s patterns['name'] = '[a-zA-Z0-9\-_]+' 318s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 318s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 318s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 318s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 318s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 318s """ 319s Setting up gettext (0.21-14ubuntu2) ... 319s Setting up python3-phply (1.2.6-1) ... 319s Setting up dictionaries-common (1.29.7) ... 319s Setting up libserf-1-1:arm64 (1.3.10-1build2) ... 319s Setting up python3-bs4 (4.12.3-1) ... 319s Setting up python3-lxml:arm64 (5.2.1-1) ... 319s Setting up hunspell-en-us (1:2020.12.07-2) ... 319s Setting up libsvn1:arm64 (1.14.3-1build4) ... 319s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 319s Setting up subversion (1.14.3-1build4) ... 319s Setting up python3-enchant (3.2.2-1) ... 320s Setting up python3-translate (3.12.2-1ubuntu1) ... 320s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 320s Setting up autopkgtest-satdep (0) ... 320s Processing triggers for man-db (2.12.0-4build2) ... 321s Processing triggers for install-info (7.1-3build2) ... 322s Processing triggers for libc-bin (2.39-0ubuntu8) ... 322s Processing triggers for dictionaries-common (1.29.7) ... 326s (Reading database ... 81176 files and directories currently installed.) 326s Removing autopkgtest-satdep (0) ... 327s autopkgtest [06:46:21]: test translate-toolkit: [----------------------- 327s ========= SMOKE TEST: /usr/bin/android2po =========== 327s Usage: android2po [--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 Android string files to Gettext PO localization files. See: 327s http://docs.translatehouse.org/projects/translate- 327s toolkit/en/latest/commands/android2po.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 xml format 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 formats 327s -t TEMPLATE, --template=TEMPLATE 327s read from TEMPLATE in xml format 327s -S, --timestamp skip conversion if the output file has newer timestamp 327s --duplicates=DUPLICATESTYLE 327s what to do with duplicate strings (identical source 327s text): merge, msgctxt (default: 'msgctxt') 327s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 327s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 327s input files [input files ...] 327s 327s positional arguments: 327s input files 327s 327s options: 327s -h, --help show this help message and exit 327s -d TMDB_FILE, --tmdb TMDB_FILE 327s translation memory database file (default: tm.db) 327s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 327s source language of translation files (default: en) 327s -t TARGET_LANG, --import-target-lang TARGET_LANG 327s target language of translation files 328s ========= SMOKE TEST: /usr/bin/buildxpi =========== 328s usage: Usage: buildxpi.py [] [ ...] 328s 328s positional arguments: 328s langs 328s 328s options: 328s -h, --help show this help message and exit 328s -L L10NBASE, --l10n-base L10NBASE 328s The directory containing the subdirectory. 328s -o OUTPUTDIR, --output-dir OUTPUTDIR 328s The directory to copy the built XPI to (default: 328s current directory). 328s -p MOZPRODUCT, --mozproduct MOZPRODUCT 328s The Mozilla product name (default: "browser"). 328s -s SRCDIR, --src SRCDIR 328s The directory containing the Mozilla l10n sources. 328s -d, --delete-dest Delete output XPI if it already exists. 328s -v, --verbose Be more noisy 328s --soft-max-version Override a fixed max version with one to cover the 328s whole cycle e.g. 24.0a1 becomes 24.0.* 328s ========= SMOKE TEST: /usr/bin/csv2po =========== 328s 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] 328s 328s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 328s See: http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/csv2po.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 csv 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, pot formats 328s -t TEMPLATE, --template=TEMPLATE 328s read from TEMPLATE in po, pot, pot formats 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s -P, --pot output PO Templates (.pot) rather than PO files (.po) 328s --charset=CHARSET set charset to decode from csv files 328s --columnorder=COLUMNORDER 328s specify the order and position of columns 328s (location,source,target) 328s --duplicates=DUPLICATESTYLE 328s what to do with duplicate strings (identical source 328s text): merge, msgctxt (default: 'msgctxt') 328s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 328s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 328s 328s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 328s glossary file. See: http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/csv2tbx.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 csv format 328s -x EXCLUDE, --exclude=EXCLUDE 328s exclude names matching EXCLUDE from input paths 328s -o OUTPUT, --output=OUTPUT 328s write to OUTPUT in tbx format 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s --charset=CHARSET set charset to decode from csv files 328s --columnorder=COLUMNORDER 328s specify the order and position of columns 328s (comment,source,target) 328s ========= SMOKE TEST: /usr/bin/dtd2po =========== 328s 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] 328s 328s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 328s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 328s this module You can convert back to .dtd using po2dtd.py. 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 dtd 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, pot formats 328s -t TEMPLATE, --template=TEMPLATE 328s read from TEMPLATE in dtd format 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s -P, --pot output PO Templates (.pot) rather than PO files (.po) 328s --duplicates=DUPLICATESTYLE 328s what to do with duplicate strings (identical source 328s text): merge, msgctxt (default: 'msgctxt') 328s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 328s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 328s 328s Convert flat XML files to Gettext PO localization files. See: 328s http://docs.translatehouse.org/projects/translate- 328s toolkit/en/latest/commands/flatxml2po.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 xml 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, pot formats 328s -S, --timestamp skip conversion if the output file has newer timestamp 328s -r ROOT, --root=ROOT name of the XML root element (default: "root") 328s -v VALUE, --value=VALUE 328s name of the XML value element (default: "str") 328s -k KEY, --key=KEY name of the XML key attribute (default: "key") 328s -n NS, --namespace=NS 328s XML namespace uri (default: None) 328s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 329s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 329s [--delete-dest] [-v] 329s 329s options: 329s -h, --help show this help message and exit 329s -s SRCDIR, --src SRCDIR 329s The directory containing the Mozilla l10n sources. 329s -d DESTDIR, --dest DESTDIR 329s The destination directory to copy the en-US locale 329s files to. 329s -p MOZPRODUCT, --mozproduct MOZPRODUCT 329s The Mozilla product name. 329s --delete-dest Delete the destination directory (if it exists). 329s -v, --verbose Be more noisy 329s ========= SMOKE TEST: /usr/bin/html2po =========== 329s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 329s 329s Convert HTML files to Gettext PO localization files. See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/html2po.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 htm, html, xhtml 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 -S, --timestamp skip conversion if the output file has newer timestamp 329s -P, --pot output PO Templates (.pot) rather than PO files (.po) 329s --keepcomments preserve html comments as translation notes in the 329s output 329s --duplicates=DUPLICATESTYLE 329s what to do with duplicate strings (identical source 329s text): merge, msgctxt (default: 'msgctxt') 329s --multifile=MULTIFILESTYLE 329s how to split po/pot files (single, toplevel or 329s onefile) 329s ========= SMOKE TEST: /usr/bin/ical2po =========== 329s 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] 329s 329s Convert iCalendar files to Gettext PO localization files. See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/ical2po.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 ics 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, pot formats 329s -t TEMPLATE, --template=TEMPLATE 329s read from TEMPLATE in ics format 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 --duplicates=DUPLICATESTYLE 329s what to do with duplicate strings (identical source 329s text): merge, msgctxt (default: 'msgctxt') 329s ========= SMOKE TEST: /usr/bin/idml2po =========== 329s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 329s 329s Convert IDML files to PO localization files. 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 idml 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, pot formats 329s -S, --timestamp skip conversion if the output file has newer timestamp 329s ========= SMOKE TEST: /usr/bin/ini2po =========== 329s 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] 329s 329s Convert .ini files to Gettext PO localization files. See: 329s http://docs.translatehouse.org/projects/translate- 329s toolkit/en/latest/commands/ini2po.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 ini, isl, iss 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 ini, isl, iss 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 --duplicates=DUPLICATESTYLE 329s what to do with duplicate strings (identical source 329s text): merge, msgctxt (default: 'msgctxt') 329s ========= SMOKE TEST: /usr/bin/json2po =========== 330s 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] 330s 330s Convert JSON files to Gettext PO localization files. See: 330s http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/json2po.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 json format 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 json format 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 --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 330s everything) 330s --duplicates=DUPLICATESTYLE 330s what to do with duplicate strings (identical source 330s text): merge, msgctxt (default: 'msgctxt') 330s ========= SMOKE TEST: /usr/bin/md2po =========== 330s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 330s 330s Convert Markdown files to Gettext PO localization files. See: 330s http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/md2po.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 markdown, md, text, txt 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 -S, --timestamp skip conversion if the output file has newer timestamp 330s -P, --pot output PO Templates (.pot) rather than PO files (.po) 330s --duplicates=DUPLICATESTYLE 330s what to do with duplicate strings (identical source 330s text): merge, msgctxt (default: 'msgctxt') 330s --multifile=MULTIFILESTYLE 330s how to split po/pot files (single, toplevel or 330s onefile) 330s ========= SMOKE TEST: /usr/bin/moz2po =========== 330s 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] 330s 330s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 330s See: http://docs.translatehouse.org/projects/translate- 330s toolkit/en/latest/commands/moz2po.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 *, dtd, inc, ini, it, js, lang, 330s manifest, properties, rdf formats 330s -x EXCLUDE, --exclude=EXCLUDE 330s exclude names matching EXCLUDE from input paths 330s -o OUTPUT, --output=OUTPUT 330s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 330s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 330s lang.pot, manifest, properties.po, properties.pot, rdf 330s formats 330s -t TEMPLATE, --template=TEMPLATE 330s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 330s manifest, properties, rdf 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 --duplicates=DUPLICATESTYLE 330s what to do with duplicate strings (identical source 330s text): merge, msgctxt (default: 'msgctxt') 330s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 331s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 331s 331s Convert Mozilla .lang files to Gettext PO localization 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 lang 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 -S, --timestamp skip conversion if the output file has newer timestamp 331s -P, --pot output PO Templates (.pot) rather than PO files (.po) 331s --encoding=ENCODING The encoding of the input file (default: UTF-8) 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 331s ========= SMOKE TEST: /usr/bin/msghack =========== 331s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 331s This program can be used to alter .po files in ways no sane mind would think about. 331s -o result will be written to FILE 331s --invert invert a po file by switching msgid and msgstr 331s --master join any number of files in a master-formatted catalog 331s --empty empty the contents of the .po file, creating a .pot 331s --append append entries from ref.po that don't exist in file.po 331s 331s Note: It is just a replacement of msghack for backward support. 331s 331s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 331s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 331s 331s Convert OpenDocument (ODF) files to XLIFF localization files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/odf2xliff.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 odc, odf, odg, odi, odm, odp, ods, 331s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 331s formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in xlf, xliff formats 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s ========= SMOKE TEST: /usr/bin/oo2po =========== 331s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 331s 331s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 331s files. See: http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/oo2po.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 oo, sdf 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 -P, --pot output PO Templates (.pot) rather than PO files (.po) 331s -l LANG, --language=LANG 331s set target language to extract from oo file (e.g. af- 331s ZA) 331s --source-language=LANG 331s set source language code (default en-US) 331s --nonrecursiveinput don't treat the input oo as a recursive store 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 331s --multifile=MULTIFILESTYLE 331s how to split po/pot files (single, toplevel or 331s onefile) 331s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 331s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 331s 331s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 331s files. See: http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/oo2po.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 oo, sdf formats 331s -x EXCLUDE, --exclude=EXCLUDE 331s exclude names matching EXCLUDE from input paths 331s -o OUTPUT, --output=OUTPUT 331s write to OUTPUT in xlf, xliff formats 331s -S, --timestamp skip conversion if the output file has newer timestamp 331s -l LANG, --language=LANG 331s set target language to extract from oo file (e.g. af- 331s ZA) 331s --source-language=LANG 331s set source language code (default en-US) 331s --nonrecursiveinput don't treat the input oo as a recursive store 331s --duplicates=DUPLICATESTYLE 331s what to do with duplicate strings (identical source 331s text): merge, msgctxt (default: 'msgctxt') 331s --multifile=MULTIFILESTYLE 331s how to split po/pot files (single, toplevel or 331s onefile) 331s ========= SMOKE TEST: /usr/bin/php2po =========== 331s 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] 331s 331s Convert PHP localization files to Gettext PO localization files. See: 331s http://docs.translatehouse.org/projects/translate- 331s toolkit/en/latest/commands/php2po.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 html, php 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 html, php 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') 331s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 331s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 331s 331s Convert PHP format .po files to Python 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/po2csv =========== 332s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 332s 332s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 332s See: http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/csv2po.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 po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in csv format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --columnorder=COLUMNORDER 332s specify the order and position of columns 332s (location,source,target) 332s ========= SMOKE TEST: /usr/bin/po2dtd =========== 332s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 332s Conversion is either done using a template plus PO file or just using the 332s .po file. 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 po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in dtd format 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in dtd format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --threshold=PERCENT only convert files where the translation completion is 332s above PERCENT 332s --fuzzy use translations marked fuzzy 332s --nofuzzy don't use translations marked fuzzy (default) 332s --removeuntranslated remove untranslated strings from output 332s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 332s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Convert Gettext PO localization files to flat XML files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/flatxml2po.html for examples and usage 332s 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 po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in xml format 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in xml format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s -r ROOT, --root=ROOT name of the XML root element (default: "root") 332s -v VALUE, --value=VALUE 332s name of the XML value element (default: "str") 332s -k KEY, --key=KEY name of the XML key attribute (default: "key") 332s -n NS, --namespace=NS 332s XML namespace uri (default: None) 332s -w INDENT, --indent=INDENT 332s indent width in spaces, 0 for no indent (default: 2) 332s ========= SMOKE TEST: /usr/bin/po2html =========== 332s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Translate HTML files using Gettext PO localization files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/html2po.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 po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in htm, html, xhtml formats 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in htm, html, xhtml formats 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --threshold=PERCENT only convert files where the translation completion is 332s above PERCENT 332s --fuzzy use translations marked fuzzy 332s --nofuzzy don't use translations marked fuzzy (default) 332s ========= SMOKE TEST: /usr/bin/po2ical =========== 332s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Convert Gettext PO localization files to iCalendar files. See: 332s http://docs.translatehouse.org/projects/translate- 332s toolkit/en/latest/commands/ical2po.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 po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in ics format 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in ics format 332s -S, --timestamp skip conversion if the output file has newer timestamp 332s --threshold=PERCENT only convert files where the translation completion is 332s above PERCENT 332s --fuzzy use translations marked fuzzy 332s --nofuzzy don't use translations marked fuzzy (default) 332s ========= SMOKE TEST: /usr/bin/po2idml =========== 332s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 332s 332s Takes an IDML template file and a PO file containing translations of strings 332s in the IDML template. It creates a new IDML file using the translations of the 332s PO file. 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 po, pot formats 332s -x EXCLUDE, --exclude=EXCLUDE 332s exclude names matching EXCLUDE from input paths 332s -o OUTPUT, --output=OUTPUT 332s write to OUTPUT in idml format 332s -t TEMPLATE, --template=TEMPLATE 332s read from TEMPLATE in idml format 332s -S, --timestamp skip conversion if the output file has newer timestamp 333s ========= SMOKE TEST: /usr/bin/po2ini =========== 333s Usage: po2ini [--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 Gettext PO localization files to .ini files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/ini2po.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 po, pot formats 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in ini, isl formats 333s -t TEMPLATE, --template=TEMPLATE 333s read from TEMPLATE in ini, isl formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s --threshold=PERCENT only convert files where the translation completion is 333s above PERCENT 333s --fuzzy use translations marked fuzzy 333s --nofuzzy don't use translations marked fuzzy (default) 333s ========= SMOKE TEST: /usr/bin/po2json =========== 333s Usage: po2json [--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 Gettext PO localization files to JSON files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/json2po.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 po, pot formats 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in json format 333s -t TEMPLATE, --template=TEMPLATE 333s read from TEMPLATE in json format 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s --threshold=PERCENT only convert files where the translation completion is 333s above PERCENT 333s --fuzzy use translations marked fuzzy 333s --nofuzzy don't use translations marked fuzzy (default) 333s --removeuntranslated remove untranslated strings from output 333s ========= SMOKE TEST: /usr/bin/po2md =========== 333s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 333s 333s Translate Markdown files using Gettext PO localization files. See: 333s http://docs.translatehouse.org/projects/translate- 333s toolkit/en/latest/commands/md2po.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 po, pot formats 333s -x EXCLUDE, --exclude=EXCLUDE 333s exclude names matching EXCLUDE from input paths 333s -o OUTPUT, --output=OUTPUT 333s write to OUTPUT in markdown, md, text, txt formats 333s -t TEMPLATE, --template=TEMPLATE 333s read from TEMPLATE in markdown, md, text, txt formats 333s -S, --timestamp skip conversion if the output file has newer timestamp 333s -m MAXLENGTH, --maxlinelength=MAXLENGTH 333s reflow (word wrap) the output to the given maximum 333s line length. set to 0 to disable 333s --threshold=PERCENT only convert files where the translation completion is 333s above PERCENT 333s --fuzzy use translations marked fuzzy 333s --nofuzzy don't use translations marked fuzzy (default) 334s ========= SMOKE TEST: /usr/bin/po2moz =========== 334s Usage: po2moz [--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 Gettext PO localization files to Mozilla .dtd and .properties files. 334s See: http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/moz2po.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 *, dtd.po, dtd.pot, inc.po, 334s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 334s lang.pot, manifest, properties.po, properties.pot, rdf 334s formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 334s manifest, properties, rdf formats 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 334s manifest, properties, rdf formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s -l LOCALE, --locale=LOCALE 334s set output locale (required as this sets the directory 334s names) 334s --threshold=PERCENT only convert files where the translation completion is 334s above PERCENT 334s --fuzzy use translations marked fuzzy 334s --nofuzzy don't use translations marked fuzzy (default) 334s --removeuntranslated remove untranslated strings from output 334s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 334s Usage: po2mozlang [--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 Gettext PO localization files to Mozilla .lang files. 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 formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in lang format 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in lang format 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s --mark-active mark the file as active 334s --threshold=PERCENT only convert files where the translation completion is 334s above PERCENT 334s --fuzzy use translations marked fuzzy 334s --nofuzzy don't use translations marked fuzzy (default) 334s ========= SMOKE TEST: /usr/bin/po2oo =========== 334s Usage: po2oo [--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 Gettext PO 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 --threshold=PERCENT only convert files where the translation completion is 334s above PERCENT 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/po2php =========== 334s Usage: po2php [--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 Gettext PO localization files to PHP localization files. See: 334s http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/php2po.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 formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in html, php formats 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in html, php formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s --threshold=PERCENT only convert files where the translation completion is 334s above PERCENT 334s --fuzzy use translations marked fuzzy 334s --nofuzzy don't use translations marked fuzzy (default) 334s ========= SMOKE TEST: /usr/bin/po2prop =========== 334s Usage: po2prop [--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 Gettext PO localization files to Java/Mozilla .properties files. 334s See: http://docs.translatehouse.org/projects/translate- 334s toolkit/en/latest/commands/prop2po.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 formats 334s -x EXCLUDE, --exclude=EXCLUDE 334s exclude names matching EXCLUDE from input paths 334s -o OUTPUT, --output=OUTPUT 334s write to OUTPUT in lang, properties, strings formats 334s -t TEMPLATE, --template=TEMPLATE 334s read from TEMPLATE in lang, properties, strings 334s formats 334s -S, --timestamp skip conversion if the output file has newer timestamp 334s --personality=TYPE override the input file format: java, java-utf8, java- 334s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 334s strings, strings-utf8, joomla (for .properties files, 334s default: java) 334s --encoding=ENCODING override the encoding set by the personality 334s --threshold=PERCENT only convert files where the translation completion is 334s above PERCENT 334s --fuzzy use translations marked fuzzy 334s --nofuzzy don't use translations marked fuzzy (default) 334s --removeuntranslated remove untranslated strings from output 335s ========= SMOKE TEST: /usr/bin/po2rc =========== 335s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 335s 335s Convert Gettext PO localization files back to Windows Resource (.rc) files. 335s See: http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in rc format 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in rc format 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 335s -l LANG, --lang=LANG LANG entry 335s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 335s --threshold=PERCENT only convert files where the translation completion is 335s above PERCENT 335s --fuzzy use translations marked fuzzy 335s --nofuzzy don't use translations marked fuzzy (default) 335s ========= SMOKE TEST: /usr/bin/po2resx =========== 335s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 335s 335s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in resx format 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in resx format 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s --fuzzy use translations marked fuzzy 335s --nofuzzy don't use translations marked fuzzy (default) 335s ========= SMOKE TEST: /usr/bin/po2sub =========== 335s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 335s 335s Convert Gettext PO localization files to subtitle files. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in ass, srt, ssa, sub formats 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in ass, srt, ssa, sub formats 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s --threshold=PERCENT only convert files where the translation completion is 335s above PERCENT 335s --fuzzy use translations marked fuzzy 335s --nofuzzy don't use translations marked fuzzy (default) 335s ========= SMOKE TEST: /usr/bin/po2symb =========== 335s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 335s 335s Convert Gettext PO localization files to Symbian translation files. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in r0 format 335s -t TEMPLATE, --template=TEMPLATE 335s read from TEMPLATE in 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s --duplicates=DUPLICATESTYLE 335s what to do with duplicate strings (identical source 335s text): merge, msgctxt (default: 'msgctxt') 335s ========= SMOKE TEST: /usr/bin/po2tiki =========== 335s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 335s 335s Convert Gettext PO files to TikiWiki's language.php files. See: 335s http://docs.translatehouse.org/projects/translate- 335s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 335s 335s Options: 335s --version show program's version number and exit 335s -h, --help show this help message and exit 335s --manpage output a manpage based on the help 335s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 335s --errorlevel=ERRORLEVEL 335s show errorlevel as: none, message, exception, 335s traceback 335s -i INPUT, --input=INPUT 335s read from INPUT in po, pot formats 335s -x EXCLUDE, --exclude=EXCLUDE 335s exclude names matching EXCLUDE from input paths 335s -o OUTPUT, --output=OUTPUT 335s write to OUTPUT in tiki format 335s -S, --timestamp skip conversion if the output file has newer timestamp 335s ========= SMOKE TEST: /usr/bin/po2tmx =========== 336s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 336s 336s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 336s file. See: http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in tmx format 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s -l LANG, --language=LANG 336s set target language code (e.g. af-ZA) [required] 336s --source-language=LANG 336s set source language code (default: en) 336s --comments=COMMENT set default comment import: none, source, type or 336s others (default: none) 336s ========= SMOKE TEST: /usr/bin/po2ts =========== 336s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 336s 336s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 336s http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in ts format 336s -t TEMPLATE, --template=TEMPLATE 336s read from TEMPLATE in ts format 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s -c CONTEXT, --context=CONTEXT 336s use supplied context instead of the one in the .po 336s file comment 336s ========= SMOKE TEST: /usr/bin/po2txt =========== 336s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 336s 336s Convert Gettext PO localization files to plain text (.txt) files. See: 336s http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot, xlf, xliff formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in txt format 336s -t TEMPLATE, --template=TEMPLATE 336s read from TEMPLATE in txt format 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s --encoding=ENCODING The encoding of the template file (default: UTF-8) 336s -w WRAP, --wrap=WRAP set number of columns to wrap text at 336s --threshold=PERCENT only convert files where the translation completion is 336s above PERCENT 336s --fuzzy use translations marked fuzzy 336s --nofuzzy don't use translations marked fuzzy (default) 336s ========= SMOKE TEST: /usr/bin/po2web2py =========== 336s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 336s 336s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 336s http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in py format 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s --threshold=PERCENT only convert files where the translation completion is 336s above PERCENT 336s --fuzzy use translations marked fuzzy 336s --nofuzzy don't use translations marked fuzzy (default) 336s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 336s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 336s 336s Convert Gettext PO localization files to a Wordfast translation memory file. 336s See: http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/po2wordfast.html for examples and usage 336s instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in txt format 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s -l LANG, --language=LANG 336s set target language code (e.g. af-ZA) [required] 336s --source-language=LANG 336s set source language code (default: en) 336s ========= SMOKE TEST: /usr/bin/po2xliff =========== 336s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 336s 336s Convert Gettext PO localization files to XLIFF localization files. See: 336s http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in xlf, xliff formats 336s -t TEMPLATE, --template=TEMPLATE 336s read from TEMPLATE in xlf, xliff formats 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s ========= SMOKE TEST: /usr/bin/po2yaml =========== 336s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 336s 336s Convert Gettext PO localization files to YAML files. See: 336s http://docs.translatehouse.org/projects/translate- 336s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 336s 336s Options: 336s --version show program's version number and exit 336s -h, --help show this help message and exit 336s --manpage output a manpage based on the help 336s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 336s --errorlevel=ERRORLEVEL 336s show errorlevel as: none, message, exception, 336s traceback 336s -i INPUT, --input=INPUT 336s read from INPUT in po, pot formats 336s -x EXCLUDE, --exclude=EXCLUDE 336s exclude names matching EXCLUDE from input paths 336s -o OUTPUT, --output=OUTPUT 336s write to OUTPUT in yaml, yml formats 336s -t TEMPLATE, --template=TEMPLATE 336s read from TEMPLATE in yaml, yml formats 336s -S, --timestamp skip conversion if the output file has newer timestamp 336s --threshold=PERCENT only convert files where the translation completion is 336s above PERCENT 336s --fuzzy use translations marked fuzzy 336s --nofuzzy don't use translations marked fuzzy (default) 337s ========= SMOKE TEST: /usr/bin/poclean =========== 337s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 337s 337s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 337s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 337s produces the target file with only the target text in from a text version of 337s the RTF. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in po, pot, xlf, xliff formats 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot, xlf, xliff formats 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s ========= SMOKE TEST: /usr/bin/pocompendium =========== 337s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 337s The first parameter is the output file, standard output if the output file is '-'. 337s Any number of directories may be specified for input files. 337s Options: 337s --invert|v Creates an inverse compendium with msgid and msgstr swapped 337s --errors|e Only ouput msg bundles that have errors 337s --correct|c Only ouput msg bundles that are correctly translated 337s --ignore-case|i Drops all strings to lowercase 337s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 337s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 337s --strip-accel-under|-su Strip all underscore (_) accelerator characters 337s ========= SMOKE TEST: /usr/bin/pocompile =========== 337s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 337s 337s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 337s Object) files. See: http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in po, pot, xlf, xliff formats 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in mo format 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s --fuzzy use translations marked fuzzy 337s --nofuzzy don't use translations marked fuzzy (default) 337s ========= SMOKE TEST: /usr/bin/poconflicts =========== 337s 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] 337s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 337s 337s Conflict finder for Gettext PO localization files. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/poconflicts.html for examples and usage 337s instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in po format 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po format 337s -I, --ignore-case ignore case distinctions 337s -v, --invert invert the conflicts thus extracting conflicting 337s destination words 337s --accelerator=ACCELERATORS 337s ignores the given accelerator characters when matching 337s ========= SMOKE TEST: /usr/bin/pocount =========== 337s usage: pocount [-h] [--incomplete] 337s [--full | --csv | --short | --short-strings | --short-words] 337s [--no-color] 337s files [files ...] 337s 337s positional arguments: 337s files 337s 337s options: 337s -h, --help show this help message and exit 337s --incomplete skip 100% translated files. 337s 337s Output format: 337s --full (default) statistics in full, verbose format 337s --csv statistics in CSV format 337s --short same as --short-strings 337s --short-strings statistics of strings in short format - one line per file 337s --short-words statistics of words in short format - one line per file 337s --no-color show output without color 337s ========= SMOKE TEST: /usr/bin/podebug =========== 337s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 337s 337s Insert debug messages into XLIFF and Gettext PO localization files. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in po, pot, pot, tmx, xlf, xliff 337s formats 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot, tmx, xlf, xliff formats 337s -S, --timestamp skip conversion if the output file has newer timestamp 337s -f FORMAT, --format=FORMAT 337s specify format string 337s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 337s classified, en, flipped, unicode, xxx 337s --ignore=APPLICATION apply tagging ignore rules for the given application: 337s gtk, kde, libreoffice, mozilla, openoffice 337s --preserveplaceholders 337s attempt to exclude characters that are part of 337s placeholders when performing character-level rewrites 337s so that consuming applications can still use the 337s placeholders to generate final output 337s ========= SMOKE TEST: /usr/bin/pofilter =========== 337s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 337s 337s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 337s Snippet files are created whenever a test fails. These can be examined, 337s corrected and merged back into the originals using pomerge. See: 337s http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 337s and http://docs.translatehouse.org/projects/translate- 337s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 337s tests. 337s 337s Options: 337s --version show program's version number and exit 337s -h, --help show this help message and exit 337s --manpage output a manpage based on the help 337s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 337s --errorlevel=ERRORLEVEL 337s show errorlevel as: none, message, exception, 337s traceback 337s -i INPUT, --input=INPUT 337s read from INPUT in po, pot, tmx, xlf, xliff formats 337s -x EXCLUDE, --exclude=EXCLUDE 337s exclude names matching EXCLUDE from input paths 337s -o OUTPUT, --output=OUTPUT 337s write to OUTPUT in po, pot, tmx, xlf, xliff formats 337s -l, --listfilters list filters available 337s --review include units marked for review (default) 337s --noreview exclude units marked for review 337s --fuzzy include units marked fuzzy (default) 337s --nofuzzy exclude units marked fuzzy 337s --nonotes don't add notes about the errors 337s --autocorrect output automatic corrections where possible rather 337s than describing issues 337s --language=LANG set target language code (e.g. af-ZA) [required for 337s spell check and recommended in general] 337s --openoffice use the standard checks for OpenOffice translations 337s --libreoffice use the standard checks for LibreOffice translations 337s --mozilla use the standard checks for Mozilla translations 337s --drupal use the standard checks for Drupal translations 337s --gnome use the standard checks for Gnome translations 337s --kde use the standard checks for KDE translations 337s --wx use the standard checks for wxWidgets translations 337s --excludefilter=FILTER 337s don't use FILTER when filtering 337s -t FILTER, --test=FILTER 337s only use test FILTERs specified with this option when 337s filtering 337s --notranslatefile=FILE 337s read list of untranslatable words from FILE (must not 337s be translated) 337s --musttranslatefile=FILE 337s read list of translatable words from FILE (must be 337s translated) 337s --validcharsfile=FILE 337s read list of all valid characters from FILE (must be 337s in UTF-8) 337s ========= SMOKE TEST: /usr/bin/pogrep =========== 338s 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] 338s 338s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 338s snippet files of the same type which can then be reviewed and later merged 338s using :doc:`pomerge `. See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 338s xliff formats 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 338s xliff formats 338s --search=SEARCHPARTS searches the given parts (source, target, notes and 338s locations) 338s -I, --ignore-case ignore case distinctions 338s -e, --regexp use regular expression matching 338s -v, --invert-match select non-matching lines 338s --accelerator=ACCELERATOR 338s ignores the given accelerator when matching 338s -k, --keep-translations 338s always extract units with translations 338s ========= SMOKE TEST: /usr/bin/pomerge =========== 338s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 338s 338s Merges XLIFF and Gettext PO localization files. Snippet file produced by 338s e.g. :doc:`pogrep ` and updated by a translator can be 338s merged back into the original files. See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in po, pot, pot, xlf, xliff formats 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in po, pot, pot, xlf, xliff formats 338s -t TEMPLATE, --template=TEMPLATE 338s read from TEMPLATE in po, pot, pot, xlf, xliff formats 338s -S, --timestamp skip conversion if the output file has newer timestamp 338s --mergeblanks=MERGEBLANKS 338s whether to overwrite existing translations with blank 338s translations (yes/no). Default is yes. 338s --mergefuzzy=MERGEFUZZY 338s whether to consider fuzzy translations from input 338s (yes/no). Default is yes. 338s --mergecomments=MERGECOMMENTS 338s whether to merge comments as well as translations 338s (yes/no). Default is yes. 338s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 338s Usage pomigrate2 [options] 338s 338s Options: 338s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 338s -C|--use-compendium - create and use a compendium built from the migrating files 338s -C|--use-compendium=some-compendium.po 338s - use an external compendium during the migration 338s --no-wrap - do not wrap long lines 338s --locale=lang - set locale for newly born files 338s -q|--quiet - suppress most output 338s -p|--pot2po - use pot2po instead of msgmerge to migrate 338s ========= SMOKE TEST: /usr/bin/popuretext =========== 338s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 338s ========= SMOKE TEST: /usr/bin/poreencode =========== 338s Usage: poreencode 338s eg: poreencode UTF-8 af/ 338s ========= SMOKE TEST: /usr/bin/porestructure =========== 338s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 338s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 338s 338s Restructure Gettxt PO files produced by :doc:`poconflicts 338s ` into the original directory tree for merging using 338s :doc:`pomerge `. See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in po format 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in po format 338s ========= SMOKE TEST: /usr/bin/posegment =========== 338s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 338s 338s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 338s See: http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in po, pot, tmx, xlf, xliff formats 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in po, pot, tmx, xlf, xliff formats 338s -S, --timestamp skip conversion if the output file has newer timestamp 338s -P, --pot output PO Templates (.pot) rather than PO files (.po) 338s -l LANG, --language=LANG 338s the target language code 338s --source-language=LANG 338s the source language code (default 'en') 338s --keepspaces Disable automatic stripping of whitespace 338s --only-aligned Removes units where sentence number does not 338s correspond 338s ========= SMOKE TEST: /usr/bin/poswap =========== 338s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 338s 338s Builds a new translation file with the target of the input language as source 338s language. .. note:: Ensure that the two po files correspond 100% to the same 338s pot file before using this. To translate Kurdish (ku) through French:: 338s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 338s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in po, pot formats 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in po, pot formats 338s -t TEMPLATE, --template=TEMPLATE 338s read from TEMPLATE in po, pot, pot formats 338s -S, --timestamp skip conversion if the output file has newer timestamp 338s --reverse reverse the process of intermediate language 338s conversion 338s ========= SMOKE TEST: /usr/bin/pot2po =========== 338s 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] 338s 338s Convert template files (like .pot or template .xlf files) to translation 338s files, preserving existing translations. See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 338s formats 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 338s xliff formats 338s -t TEMPLATE, --template=TEMPLATE 338s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 338s xliff formats 338s -S, --timestamp skip conversion if the output file has newer timestamp 338s -P, --pot output PO Templates (.pot) rather than PO files (.po) 338s --tm=TM The file to use as translation memory when fuzzy 338s matching 338s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 338s The minimum similarity for inclusion (default: 75%) 338s --nofuzzymatching Disable fuzzy matching 338s ========= SMOKE TEST: /usr/bin/poterminology =========== 338s 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] 338s input directory is searched for PO files, terminology PO file is output file 338s 338s Create a terminology file by reading a set of .po or .pot files to produce a 338s pootle-terminology.pot. See: 338s http://docs.translatehouse.org/projects/translate- 338s toolkit/en/latest/commands/poterminology.html for examples and usage 338s instructions. 338s 338s Options: 338s --version show program's version number and exit 338s -h, --help show this help message and exit 338s --manpage output a manpage based on the help 338s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 338s --errorlevel=ERRORLEVEL 338s show errorlevel as: none, message, exception, 338s traceback 338s -i INPUT, --input=INPUT 338s read from INPUT in po, pot formats 338s -x EXCLUDE, --exclude=EXCLUDE 338s exclude names matching EXCLUDE from input paths 338s -o OUTPUT, --output=OUTPUT 338s write to OUTPUT in po, pot formats 338s -u UPDATEFILE, --update=UPDATEFILE 338s update terminology in UPDATEFILE 338s -S STOPFILE, --stopword-list=STOPFILE 338s read stopword (term exclusion) list from STOPFILE 338s (default /usr/share/pyshared/translate/share/stoplist- 338s en) 338s -F, --fold-titlecase fold "Title Case" to lowercase (default) 338s -C, --preserve-case preserve all uppercase/lowercase 338s -I, --ignore-case make all terms lowercase 338s --accelerator=ACCELERATORS 338s ignore the given accelerator characters when matching 338s -t LENGTH, --term-words=LENGTH 338s generate terms of up to LENGTH words (default 3) 338s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 338s 1) 338s --inputs-needed=MIN omit terms appearing in less than MIN input files 338s (default 2, or 1 if only one input file) 338s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 338s different messages (default 1) 338s --substr-needed=MIN omit substring-only terms appearing in less than MIN 338s different messages (default 2) 338s --locs-needed=MIN omit terms appearing in less than MIN different 338s original source files (default 2) 338s --sort=ORDER output sort order(s): frequency, dictionary, length 338s (may repeat option, default is all in above order) 338s --source-language=LANG 338s the source language code (default 'en') 338s -v, --invert invert the source and target languages for terminology 339s ========= SMOKE TEST: /usr/bin/pretranslate =========== 339s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 339s 339s Fill localization files with suggested translations based on translation 339s memory and existing translations. See: 339s http://docs.translatehouse.org/projects/translate- 339s toolkit/en/latest/commands/pretranslate.html for examples and usage 339s instructions. 339s 339s Options: 339s --version show program's version number and exit 339s -h, --help show this help message and exit 339s --manpage output a manpage based on the help 339s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 339s --errorlevel=ERRORLEVEL 339s show errorlevel as: none, message, exception, 339s traceback 339s -i INPUT, --input=INPUT 339s read from INPUT in po, pot, pot, xlf, xliff formats 339s -x EXCLUDE, --exclude=EXCLUDE 339s exclude names matching EXCLUDE from input paths 339s -o OUTPUT, --output=OUTPUT 339s write to OUTPUT in po, pot, xlf, xliff formats 339s -t TEMPLATE, --template=TEMPLATE 339s read from TEMPLATE in po, pot, xlf, xliff formats 339s -S, --timestamp skip conversion if the output file has newer timestamp 339s --tm=TM The file to use as translation memory when fuzzy 339s matching 339s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 339s The minimum similarity for inclusion (default: 75%) 339s --nofuzzymatching Disable fuzzy matching 339s ========= SMOKE TEST: /usr/bin/prop2po =========== 339s 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] 339s 339s Convert Java/Mozilla .properties files to Gettext PO localization files. 339s See: http://docs.translatehouse.org/projects/translate- 339s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 339s 339s Options: 339s --version show program's version number and exit 339s -h, --help show this help message and exit 339s --manpage output a manpage based on the help 339s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 339s --errorlevel=ERRORLEVEL 339s show errorlevel as: none, message, exception, 339s traceback 339s -i INPUT, --input=INPUT 339s read from INPUT in lang, properties, strings formats 339s -x EXCLUDE, --exclude=EXCLUDE 339s exclude names matching EXCLUDE from input paths 339s -o OUTPUT, --output=OUTPUT 339s write to OUTPUT in po, pot formats 339s -t TEMPLATE, --template=TEMPLATE 339s read from TEMPLATE in lang, properties, strings 339s formats 339s -S, --timestamp skip conversion if the output file has newer timestamp 339s -P, --pot output PO Templates (.pot) rather than PO files (.po) 339s --personality=TYPE override the input file format: java, java-utf8, java- 339s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 339s strings, strings-utf8, joomla (for .properties files, 339s default: java) 339s --encoding=ENCODING override the encoding set by the personality 339s --duplicates=DUPLICATESTYLE 339s what to do with duplicate strings (identical source 339s text): merge, msgctxt (default: 'msgctxt') 339s ========= SMOKE TEST: /usr/bin/pydiff =========== 339s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 339s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 339s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 339s fromfile tofile 339s 339s positional arguments: 339s fromfile 339s tofile 339s 339s options: 339s -h, --help show this help message and exit 339s -i, --ignore-case Ignore case differences in file contents. 339s -U NUM, --unified NUM 339s Output NUM (default 3) lines of unified context 339s -r, --recursive Recursively compare any subdirectories found. 339s -N, --new-file Treat absent files as empty. 339s --unidirectional-new-file 339s Treat absent first files as empty. 339s -s, --report-identical-files 339s Report when two files are the same. 339s -x PAT, --exclude PAT 339s Exclude files that match PAT. 339s --fromcontains TEXT Only show changes where fromfile contains TEXT 339s --tocontains TEXT Only show changes where tofile contains TEXT 339s --contains TEXT Only show changes where fromfile or tofile contains 339s TEXT 339s -I, --ignore-case-contains 339s Ignore case differences when matching any of the 339s changes 339s --accelerator ACCELERATORS 339s ignores the given accelerator characters when matching 339s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 339s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 339s 339s Convert Python format .po files to PHP format .po files. 339s 339s Options: 339s --version show program's version number and exit 339s -h, --help show this help message and exit 339s --manpage output a manpage based on the help 339s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 339s --errorlevel=ERRORLEVEL 339s show errorlevel as: none, message, exception, 339s traceback 339s -i INPUT, --input=INPUT 339s read from INPUT in po, pot formats 339s -x EXCLUDE, --exclude=EXCLUDE 339s exclude names matching EXCLUDE from input paths 339s -o OUTPUT, --output=OUTPUT 339s write to OUTPUT in po, pot formats 339s -S, --timestamp skip conversion if the output file has newer timestamp 339s ========= SMOKE TEST: /usr/bin/rc2po =========== 340s 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] 340s 340s Convert Windows RC files to Gettext PO localization files. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in nls, rc formats 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in po, pot formats 340s -t TEMPLATE, --template=TEMPLATE 340s read from TEMPLATE in nls, rc formats 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s -P, --pot output PO Templates (.pot) rather than PO files (.po) 340s --charset=CHARSET charset to use to decode the RC files (autodetection 340s is used by default) 340s -l LANG, --lang=LANG LANG entry (default: None) 340s --sublang=SUBLANG SUBLANG entry (default: None) 340s --duplicates=DUPLICATESTYLE 340s what to do with duplicate strings (identical source 340s text): merge, msgctxt (default: 'msgctxt') 340s ========= SMOKE TEST: /usr/bin/resx2po =========== 340s 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] 340s 340s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in resx format 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in po, pot formats 340s -t TEMPLATE, --template=TEMPLATE 340s read from TEMPLATE in resx format 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s -P, --pot output PO Templates (.pot) rather than PO files (.po) 340s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 340s everything) 340s --duplicates=DUPLICATESTYLE 340s what to do with duplicate strings (identical source 340s text): merge, msgctxt (default: 'msgctxt') 340s ========= SMOKE TEST: /usr/bin/sub2po =========== 340s 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] 340s 340s Convert subtitle files to Gettext PO localization files. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in ass, srt, ssa, sub formats 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in po, pot formats 340s -t TEMPLATE, --template=TEMPLATE 340s read from TEMPLATE in ass, srt, ssa, sub formats 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s -P, --pot output PO Templates (.pot) rather than PO files (.po) 340s --duplicates=DUPLICATESTYLE 340s what to do with duplicate strings (identical source 340s text): merge, msgctxt (default: 'msgctxt') 340s ========= SMOKE TEST: /usr/bin/symb2po =========== 340s 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] 340s 340s Convert Symbian localisation files to Gettext PO localization files. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in r01 format 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in po, pot formats 340s -t TEMPLATE, --template=TEMPLATE 340s read from TEMPLATE in 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s -P, --pot output PO Templates (.pot) rather than PO files (.po) 340s --duplicates=DUPLICATESTYLE 340s what to do with duplicate strings (identical source 340s text): merge, msgctxt (default: 'msgctxt') 340s ========= SMOKE TEST: /usr/bin/tbx2po =========== 340s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 340s 340s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in tbx format 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in po, pot formats 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s ========= SMOKE TEST: /usr/bin/tiki2po =========== 340s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 340s 340s Convert TikiWiki's language.php files to Gettext PO localization files. See: 340s http://docs.translatehouse.org/projects/translate- 340s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 340s 340s Options: 340s --version show program's version number and exit 340s -h, --help show this help message and exit 340s --manpage output a manpage based on the help 340s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 340s --errorlevel=ERRORLEVEL 340s show errorlevel as: none, message, exception, 340s traceback 340s -i INPUT, --input=INPUT 340s read from INPUT in php format 340s -x EXCLUDE, --exclude=EXCLUDE 340s exclude names matching EXCLUDE from input paths 340s -o OUTPUT, --output=OUTPUT 340s write to OUTPUT in po, pot formats 340s -S, --timestamp skip conversion if the output file has newer timestamp 340s --include-unused Include strings in the unused section 341s ========= SMOKE TEST: /usr/bin/tmserver =========== 341s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 341s [-s SOURCE_LANG] [-b BIND] [-p PORT] 341s [--max-candidates MAX_CANDIDATES] 341s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 341s [--debug] 341s 341s options: 341s -h, --help show this help message and exit 341s -d TMDBFILE, --tmdb TMDBFILE 341s translation memory database file 341s -f TMFILES, --import-translation-file TMFILES 341s translation file to import into the database 341s -t TARGET_LANG, --import-target-lang TARGET_LANG 341s target language of translation files 341s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 341s source language of translation files 341s -b BIND, --bind BIND address to bind server to (default: localhost) 341s -p PORT, --port PORT port to listen on (default: 8888) 341s --max-candidates MAX_CANDIDATES 341s Maximum number of candidates 341s --min-similarity MIN_SIMILARITY 341s minimum similarity 341s --max-length MAX_LENGTH 341s Maxmimum string length 341s --debug enable debugging features 341s ========= SMOKE TEST: /usr/bin/ts2po =========== 341s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 341s 341s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 341s http://docs.translatehouse.org/projects/translate- 341s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 341s 341s Options: 341s --version show program's version number and exit 341s -h, --help show this help message and exit 341s --manpage output a manpage based on the help 341s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 341s --errorlevel=ERRORLEVEL 341s show errorlevel as: none, message, exception, 341s traceback 341s -i INPUT, --input=INPUT 341s read from INPUT in ts format 341s -x EXCLUDE, --exclude=EXCLUDE 341s exclude names matching EXCLUDE from input paths 341s -o OUTPUT, --output=OUTPUT 341s write to OUTPUT in po, pot formats 341s -S, --timestamp skip conversion if the output file has newer timestamp 341s -P, --pot output PO Templates (.pot) rather than PO files (.po) 341s --duplicates=DUPLICATESTYLE 341s what to do with duplicate strings (identical source 341s text): merge, msgctxt (default: 'msgctxt') 341s ========= SMOKE TEST: /usr/bin/txt2po =========== 341s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 341s 341s Convert plain text (.txt) files to Gettext PO localization files. See: 341s http://docs.translatehouse.org/projects/translate- 341s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 341s 341s Options: 341s --version show program's version number and exit 341s -h, --help show this help message and exit 341s --manpage output a manpage based on the help 341s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 341s --errorlevel=ERRORLEVEL 341s show errorlevel as: none, message, exception, 341s traceback 341s -i INPUT, --input=INPUT 341s read from INPUT in *, txt formats 341s -x EXCLUDE, --exclude=EXCLUDE 341s exclude names matching EXCLUDE from input paths 341s -o OUTPUT, --output=OUTPUT 341s write to OUTPUT in po, pot formats 341s -S, --timestamp skip conversion if the output file has newer timestamp 341s -P, --pot output PO Templates (.pot) rather than PO files (.po) 341s --encoding=ENCODING The encoding of the input file (default: UTF-8) 341s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 341s mediawiki 341s --no-segmentation Don't segment the file, treat it like a single message 341s --duplicates=DUPLICATESTYLE 341s what to do with duplicate strings (identical source 341s text): merge, msgctxt (default: 'msgctxt') 341s ========= SMOKE TEST: /usr/bin/web2py2po =========== 341s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 341s 341s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 341s http://docs.translatehouse.org/projects/translate- 341s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 341s 341s Options: 341s --version show program's version number and exit 341s -h, --help show this help message and exit 341s --manpage output a manpage based on the help 341s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 341s --errorlevel=ERRORLEVEL 341s show errorlevel as: none, message, exception, 341s traceback 341s -i INPUT, --input=INPUT 341s read from INPUT in py format 341s -x EXCLUDE, --exclude=EXCLUDE 341s exclude names matching EXCLUDE from input paths 341s -o OUTPUT, --output=OUTPUT 341s write to OUTPUT in po, pot formats 341s -S, --timestamp skip conversion if the output file has newer timestamp 341s -P, --pot output PO Templates (.pot) rather than PO files (.po) 341s --duplicates=DUPLICATESTYLE 341s what to do with duplicate strings (identical source 341s text): merge, msgctxt (default: 'msgctxt') 341s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 341s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 341s 341s Convert XLIFF translation files to OpenDocument (ODF) files. See: 341s http://docs.translatehouse.org/projects/translate- 341s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 341s 341s Options: 341s --version show program's version number and exit 341s -h, --help show this help message and exit 341s --manpage output a manpage based on the help 341s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 341s --errorlevel=ERRORLEVEL 341s show errorlevel as: none, message, exception, 341s traceback 341s -i INPUT, --input=INPUT 341s read from INPUT in xlf format 341s -x EXCLUDE, --exclude=EXCLUDE 341s exclude names matching EXCLUDE from input paths 341s -o OUTPUT, --output=OUTPUT 341s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 341s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 341s -t TEMPLATE, --template=TEMPLATE 341s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 341s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 341s formats 341s -S, --timestamp skip conversion if the output file has newer timestamp 342s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 342s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 342s 342s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 342s file. See: http://docs.translatehouse.org/projects/translate- 342s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 342s 342s Options: 342s --version show program's version number and exit 342s -h, --help show this help message and exit 342s --manpage output a manpage based on the help 342s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 342s --errorlevel=ERRORLEVEL 342s show errorlevel as: none, message, exception, 342s traceback 342s -i INPUT, --input=INPUT 342s read from INPUT in po, pot, xlf, xliff formats 342s -x EXCLUDE, --exclude=EXCLUDE 342s exclude names matching EXCLUDE from input paths 342s -o OUTPUT, --output=OUTPUT 342s write to OUTPUT in oo, sdf formats 342s -t TEMPLATE, --template=TEMPLATE 342s read from TEMPLATE in oo, sdf formats 342s -S, --timestamp skip conversion if the output file has newer timestamp 342s -l LANG, --language=LANG 342s set target language code (e.g. af-ZA) [required] 342s --source-language=LANG 342s set source language code (default en-US) 342s -T, --keeptimestamp don't change the timestamps of the strings 342s --nonrecursiveoutput don't treat the output oo as a recursive store 342s --nonrecursivetemplate 342s don't treat the template oo as a recursive store 342s --skipsource don't output the source language, but fallback to it 342s where needed 342s --filteraction=ACTION 342s action on pofilter failure: none (default), warn, 342s exclude-serious, exclude-all 342s --fuzzy use translations marked fuzzy 342s --nofuzzy don't use translations marked fuzzy (default) 342s --multifile=MULTIFILESTYLE 342s how to split po/pot files (single, toplevel or 342s onefile) 342s ========= SMOKE TEST: /usr/bin/xliff2po =========== 342s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 342s 342s Convert XLIFF localization files to Gettext PO localization files. See: 342s http://docs.translatehouse.org/projects/translate- 342s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 342s 342s Options: 342s --version show program's version number and exit 342s -h, --help show this help message and exit 342s --manpage output a manpage based on the help 342s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 342s --errorlevel=ERRORLEVEL 342s show errorlevel as: none, message, exception, 342s traceback 342s -i INPUT, --input=INPUT 342s read from INPUT in xlf, xliff formats 342s -x EXCLUDE, --exclude=EXCLUDE 342s exclude names matching EXCLUDE from input paths 342s -o OUTPUT, --output=OUTPUT 342s write to OUTPUT in po, pot formats 342s -S, --timestamp skip conversion if the output file has newer timestamp 342s -P, --pot output PO Templates (.pot) rather than PO files (.po) 342s --duplicates=DUPLICATESTYLE 342s what to do with duplicate strings (identical source 342s text): merge, msgctxt (default: 'msgctxt') 342s ========= SMOKE TEST: /usr/bin/yaml2po =========== 342s 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] 342s 342s Convert YAML files to Gettext PO localization files. See: 342s http://docs.translatehouse.org/projects/translate- 342s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 342s 342s Options: 342s --version show program's version number and exit 342s -h, --help show this help message and exit 342s --manpage output a manpage based on the help 342s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 342s --errorlevel=ERRORLEVEL 342s show errorlevel as: none, message, exception, 342s traceback 342s -i INPUT, --input=INPUT 342s read from INPUT in yaml, yml formats 342s -x EXCLUDE, --exclude=EXCLUDE 342s exclude names matching EXCLUDE from input paths 342s -o OUTPUT, --output=OUTPUT 342s write to OUTPUT in po, pot formats 342s -t TEMPLATE, --template=TEMPLATE 342s read from TEMPLATE in yaml, yml formats 342s -S, --timestamp skip conversion if the output file has newer timestamp 342s -P, --pot output PO Templates (.pot) rather than PO files (.po) 342s --duplicates=DUPLICATESTYLE 342s what to do with duplicate strings (identical source 342s text): merge, msgctxt (default: 'msgctxt') 343s autopkgtest [06:46:37]: test translate-toolkit: -----------------------] 344s translate-toolkit PASS 344s autopkgtest [06:46:38]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 344s autopkgtest [06:46:38]: test python3-translate: preparing testbed 639s autopkgtest [06:51:33]: testbed dpkg architecture: arm64 639s autopkgtest [06:51:33]: testbed apt version: 2.7.14build2 639s autopkgtest [06:51:33]: @@@@@@@@@@@@@@@@@@@@ test bed setup 639s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [64.7 kB] 640s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [23.5 kB] 640s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [110 kB] 640s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1703 kB] 640s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [2800 B] 640s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [188 kB] 640s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [13.1 kB] 640s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [1287 kB] 640s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [22.1 kB] 640s Fetched 3414 kB in 1s (2610 kB/s) 641s Reading package lists... 643s Reading package lists... 644s Building dependency tree... 644s Reading state information... 644s Calculating upgrade... 644s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 644s Reading package lists... 645s Building dependency tree... 645s Reading state information... 645s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 646s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 646s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 646s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 646s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 647s Reading package lists... 647s Reading package lists... 647s Building dependency tree... 647s Reading state information... 648s Calculating upgrade... 648s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 648s Reading package lists... 648s Building dependency tree... 648s Reading state information... 649s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 653s Reading package lists... 653s Building dependency tree... 653s Reading state information... 653s Starting pkgProblemResolver with broken count: 0 653s Starting 2 pkgProblemResolver with broken count: 0 653s Done 654s The following additional packages will be installed: 654s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 654s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 654s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 654s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 654s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 654s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 654s python3-more-itertools python3-packaging python3-phply python3-pluggy 654s python3-ply python3-pycountry python3-pytest python3-rapidfuzz 654s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 654s python3-soupsieve python3-syrupy python3-translate python3-vobject 654s python3-xapian subversion 654s Suggested packages: 654s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 654s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 654s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 654s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 654s libapache2-mod-svn subversion-tools 654s Recommended packages: 654s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 654s python3-cssselect python3-html5lib 654s The following NEW packages will be installed: 654s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 654s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 654s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 654s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 654s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 654s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 654s python3-mistletoe python3-more-itertools python3-packaging python3-phply 654s python3-pluggy python3-ply python3-pycountry python3-pytest 654s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 654s python3-simplejson python3-soupsieve python3-syrupy python3-translate 654s python3-vobject python3-xapian subversion 654s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 654s Need to get 10.3 MB/10.3 MB of archives. 654s After this operation, 47.5 MB of additional disk space will be used. 654s Get:1 /tmp/autopkgtest.cYwETr/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [876 B] 654s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 654s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 654s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14-20240412-0ubuntu1 [144 kB] 654s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.21-14ubuntu2 [845 kB] 655s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 655s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.1build2 [105 kB] 655s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-1.1ubuntu7 [93.9 kB] 655s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 655s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 655s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 655s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 655s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-1build2 [48.6 kB] 655s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 655s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-1build4 [1339 kB] 655s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 655s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 655s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.11-2 [221 kB] 655s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-all arm64 3.12.3-0ubuntu1 [888 B] 655s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 655s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 655s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.2.0-1 [52.9 kB] 655s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 655s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 655s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 655s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 655s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 655s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 655s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.6.2+ds-1 [990 kB] 655s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-2 [108 kB] 655s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.1-1 [1179 kB] 655s Get:32 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 655s Get:33 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.0-1 [41.1 kB] 655s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 655s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 655s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.4.0-1 [20.4 kB] 655s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 655s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8+ds-1 [127 kB] 655s Get:39 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 655s Get:40 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 655s Get:41 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 655s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.12.2-1ubuntu1 [318 kB] 655s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 655s Get:44 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-xapian arm64 1.4.22-1build5 [355 kB] 655s Get:45 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-1build4 [906 kB] 655s Get:46 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 655s Get:47 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 656s Preconfiguring packages ... 656s Fetched 10.3 MB in 1s (7833 kB/s) 656s Selecting previously unselected package emacsen-common. 657s (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 ... 77729 files and directories currently installed.) 657s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 657s Unpacking emacsen-common (3.0.5) ... 657s Selecting previously unselected package dictionaries-common. 657s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 657s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 657s Unpacking dictionaries-common (1.29.7) ... 657s Selecting previously unselected package libgomp1:arm64. 657s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_arm64.deb ... 657s Unpacking libgomp1:arm64 (14-20240412-0ubuntu1) ... 657s Selecting previously unselected package gettext. 657s Preparing to unpack .../03-gettext_0.21-14ubuntu2_arm64.deb ... 657s Unpacking gettext (0.21-14ubuntu2) ... 657s Selecting previously unselected package hunspell-en-us. 657s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 657s Unpacking hunspell-en-us (1:2020.12.07-2) ... 657s Selecting previously unselected package libapr1t64:arm64. 657s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_arm64.deb ... 657s Unpacking libapr1t64:arm64 (1.7.2-3.1build2) ... 657s Selecting previously unselected package libaprutil1t64:arm64. 657s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_arm64.deb ... 657s Unpacking libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 657s Selecting previously unselected package libaspell15:arm64. 657s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 657s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 657s Selecting previously unselected package libhunspell-1.7-0:arm64. 657s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 657s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 658s Selecting previously unselected package libenchant-2-2:arm64. 658s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 658s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 658s Selecting previously unselected package libexttextcat-data. 658s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 658s Unpacking libexttextcat-data (3.4.7-1build1) ... 658s Selecting previously unselected package libserf-1-1:arm64. 658s Preparing to unpack .../11-libserf-1-1_1.3.10-1build2_arm64.deb ... 658s Unpacking libserf-1-1:arm64 (1.3.10-1build2) ... 658s Selecting previously unselected package libutf8proc3:arm64. 658s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 658s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 658s Selecting previously unselected package libsvn1:arm64. 658s Preparing to unpack .../13-libsvn1_1.14.3-1build4_arm64.deb ... 658s Unpacking libsvn1:arm64 (1.14.3-1build4) ... 658s Selecting previously unselected package libxapian30:arm64. 658s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 658s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 658s Selecting previously unselected package libxslt1.1:arm64. 658s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 658s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 658s Selecting previously unselected package python3-aeidon. 658s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 658s Unpacking python3-aeidon (1.11-2) ... 658s Selecting previously unselected package python3-all. 658s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_arm64.deb ... 658s Unpacking python3-all (3.12.3-0ubuntu1) ... 658s Selecting previously unselected package python3-soupsieve. 658s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 658s Unpacking python3-soupsieve (2.5-1) ... 658s Selecting previously unselected package python3-bs4. 658s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 658s Unpacking python3-bs4 (4.12.3-1) ... 658s Selecting previously unselected package python3-more-itertools. 658s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 658s Unpacking python3-more-itertools (10.2.0-1) ... 658s Selecting previously unselected package python3-jaraco.functools. 658s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 658s Unpacking python3-jaraco.functools (4.0.0-1) ... 658s Selecting previously unselected package python3-cheroot. 658s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 658s Unpacking python3-cheroot (10.0.0+ds1-2) ... 658s Selecting previously unselected package python3-dateutil. 658s Preparing to unpack .../23-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 658s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 658s Selecting previously unselected package python3-diff-match-patch. 658s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 658s Unpacking python3-diff-match-patch (20230430-1) ... 658s Selecting previously unselected package python3-enchant. 658s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 658s Unpacking python3-enchant (3.2.2-1) ... 658s Selecting previously unselected package python3-iniconfig. 658s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 658s Unpacking python3-iniconfig (1.1.1-2) ... 658s Selecting previously unselected package python3-rapidfuzz. 658s Preparing to unpack .../27-python3-rapidfuzz_3.6.2+ds-1_arm64.deb ... 658s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 659s Selecting previously unselected package python3-levenshtein. 659s Preparing to unpack .../28-python3-levenshtein_0.25.1-2_arm64.deb ... 659s Unpacking python3-levenshtein (0.25.1-2) ... 659s Selecting previously unselected package python3-lxml:arm64. 659s Preparing to unpack .../29-python3-lxml_5.2.1-1_arm64.deb ... 659s Unpacking python3-lxml:arm64 (5.2.1-1) ... 659s Selecting previously unselected package python3-mistletoe. 659s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 659s Unpacking python3-mistletoe (1.3.0-1) ... 659s Selecting previously unselected package python3-packaging. 659s Preparing to unpack .../31-python3-packaging_24.0-1_all.deb ... 659s Unpacking python3-packaging (24.0-1) ... 659s Selecting previously unselected package python3-ply. 659s Preparing to unpack .../32-python3-ply_3.11-6_all.deb ... 659s Unpacking python3-ply (3.11-6) ... 659s Selecting previously unselected package python3-phply. 659s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 659s Unpacking python3-phply (1.2.6-1) ... 659s Selecting previously unselected package python3-pluggy. 659s Preparing to unpack .../34-python3-pluggy_1.4.0-1_all.deb ... 659s Unpacking python3-pluggy (1.4.0-1) ... 659s Selecting previously unselected package python3-pytest. 659s Preparing to unpack .../35-python3-pytest_7.4.4-1_all.deb ... 659s Unpacking python3-pytest (7.4.4-1) ... 659s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 659s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-1_arm64.deb ... 659s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8+ds-1) ... 659s Selecting previously unselected package python3-ruamel.yaml. 659s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 659s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 659s Selecting previously unselected package python3-simplejson. 659s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_arm64.deb ... 659s Unpacking python3-simplejson (3.19.2-1build2) ... 659s Selecting previously unselected package python3-syrupy. 659s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 659s Unpacking python3-syrupy (4.6.1-1) ... 659s Selecting previously unselected package python3-translate. 659s Preparing to unpack .../40-python3-translate_3.12.2-1ubuntu1_all.deb ... 659s Unpacking python3-translate (3.12.2-1ubuntu1) ... 659s Selecting previously unselected package python3-vobject. 659s Preparing to unpack .../41-python3-vobject_0.9.6.1-2_all.deb ... 659s Unpacking python3-vobject (0.9.6.1-2) ... 659s Selecting previously unselected package python3-xapian. 659s Preparing to unpack .../42-python3-xapian_1.4.22-1build5_arm64.deb ... 659s Unpacking python3-xapian (1.4.22-1build5) ... 659s Selecting previously unselected package subversion. 659s Preparing to unpack .../43-subversion_1.14.3-1build4_arm64.deb ... 659s Unpacking subversion (1.14.3-1build4) ... 660s Selecting previously unselected package python3-iniparse. 660s Preparing to unpack .../44-python3-iniparse_0.5-2_all.deb ... 660s Unpacking python3-iniparse (0.5-2) ... 660s Selecting previously unselected package python3-pycountry. 660s Preparing to unpack .../45-python3-pycountry_23.12.11+ds1-2_all.deb ... 660s Unpacking python3-pycountry (23.12.11+ds1-2) ... 660s Selecting previously unselected package autopkgtest-satdep. 660s Preparing to unpack .../46-2-autopkgtest-satdep.deb ... 660s Unpacking autopkgtest-satdep (0) ... 660s Setting up python3-more-itertools (10.2.0-1) ... 660s Setting up python3-iniconfig (1.1.1-2) ... 660s Setting up libxapian30:arm64 (1.4.22-1build1) ... 660s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 660s Setting up python3-diff-match-patch (20230430-1) ... 660s Setting up python3-jaraco.functools (4.0.0-1) ... 660s Setting up python3-aeidon (1.11-2) ... 661s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 661s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 661s Setting up python3-ply (3.11-6) ... 661s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8+ds-1) ... 661s Setting up python3-all (3.12.3-0ubuntu1) ... 661s Setting up libgomp1:arm64 (14-20240412-0ubuntu1) ... 661s Setting up python3-simplejson (3.19.2-1build2) ... 661s Setting up python3-packaging (24.0-1) ... 661s Setting up emacsen-common (3.0.5) ... 661s Setting up python3-cheroot (10.0.0+ds1-2) ... 661s Setting up python3-pycountry (23.12.11+ds1-2) ... 662s Setting up python3-xapian (1.4.22-1build5) ... 662s Setting up python3-pluggy (1.4.0-1) ... 662s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 662s Setting up python3-mistletoe (1.3.0-1) ... 662s Setting up libexttextcat-data (3.4.7-1build1) ... 662s Setting up libapr1t64:arm64 (1.7.2-3.1build2) ... 662s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 662s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 662s Setting up python3-levenshtein (0.25.1-2) ... 662s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 662s Setting up python3-soupsieve (2.5-1) ... 663s Setting up python3-iniparse (0.5-2) ... 663s Setting up libaprutil1t64:arm64 (1.6.3-1.1ubuntu7) ... 663s Setting up python3-vobject (0.9.6.1-2) ... 663s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 663s patterns['name'] = '[a-zA-Z0-9\-_]+' 663s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 663s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 663s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 663s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 663s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 663s """ 663s Setting up gettext (0.21-14ubuntu2) ... 663s Setting up python3-phply (1.2.6-1) ... 663s Setting up dictionaries-common (1.29.7) ... 663s Setting up python3-pytest (7.4.4-1) ... 664s Setting up python3-syrupy (4.6.1-1) ... 664s Setting up libserf-1-1:arm64 (1.3.10-1build2) ... 664s Setting up python3-bs4 (4.12.3-1) ... 664s Setting up python3-lxml:arm64 (5.2.1-1) ... 664s Setting up hunspell-en-us (1:2020.12.07-2) ... 664s Setting up libsvn1:arm64 (1.14.3-1build4) ... 664s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 664s Setting up subversion (1.14.3-1build4) ... 664s Setting up python3-enchant (3.2.2-1) ... 664s Setting up python3-translate (3.12.2-1ubuntu1) ... 665s Setting up autopkgtest-satdep (0) ... 665s Processing triggers for man-db (2.12.0-4build2) ... 666s Processing triggers for install-info (7.1-3build2) ... 666s Processing triggers for libc-bin (2.39-0ubuntu8) ... 666s Processing triggers for dictionaries-common (1.29.7) ... 671s (Reading database ... 81202 files and directories currently installed.) 671s Removing autopkgtest-satdep (0) ... 673s autopkgtest [06:52:07]: test python3-translate: [----------------------- 673s ============================= test session starts ============================== 673s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 673s cachedir: .pytest_cache 673s rootdir: /tmp/autopkgtest.cYwETr/autopkgtest_tmp 673s plugins: syrupy-4.6.1 680s collecting ... collected 3313 items / 2 skipped 680s 680s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 680s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 680s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 680s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 680s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 680s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 680s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 680s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 680s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 680s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 680s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 680s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 680s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 680s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 680s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 681s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 681s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 681s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 681s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 681s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 681s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 681s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 681s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 681s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 681s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 681s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 681s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 681s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 681s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 681s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 681s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 681s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 681s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 681s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 681s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 681s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 681s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 681s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 681s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 682s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 682s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 682s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 682s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 682s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 682s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 682s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 682s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 682s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 682s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 682s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 682s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 682s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 682s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 682s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 682s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 683s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 683s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 683s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 683s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 683s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 683s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 683s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 683s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 683s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 683s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 683s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 683s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 683s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 683s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 683s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 683s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 683s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 683s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 683s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 683s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 683s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 683s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 683s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 683s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 683s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 683s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 683s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 683s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 683s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 683s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 683s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 683s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 683s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 683s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 683s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 683s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 683s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 683s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 683s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 684s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 684s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 684s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 684s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 684s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 684s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 684s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 684s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 684s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 684s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 684s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 684s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 684s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 684s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 684s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 684s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 684s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 684s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 684s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 684s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 684s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 684s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 684s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 684s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 684s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 684s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 684s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 684s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 684s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 684s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 684s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 684s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 684s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 684s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 684s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 684s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 684s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 684s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 684s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 684s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 684s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 684s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 684s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 684s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 684s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 684s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 684s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 684s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 684s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 684s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 684s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 684s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 684s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 685s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 685s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 685s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 685s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 685s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 685s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 685s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 685s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 685s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 685s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 685s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 685s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 685s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 685s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 685s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 685s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 685s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 685s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 685s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 685s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 685s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 685s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 685s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 685s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 685s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 685s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 686s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 686s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 686s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 686s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 686s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 686s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 686s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 686s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 686s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 686s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 686s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 686s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 686s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 686s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 686s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 686s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 686s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 686s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 686s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 686s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 686s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 686s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 686s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 686s 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%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 686s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 686s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 686s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 686s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 686s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 686s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 686s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 686s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 686s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 686s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 686s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 686s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 686s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 687s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 687s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 687s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 687s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 687s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 687s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 687s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 687s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 688s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 688s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 688s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 688s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 688s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 688s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 688s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 688s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 688s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 688s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 688s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 688s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 688s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 688s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 688s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 688s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 688s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 688s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 688s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 688s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 689s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 689s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 689s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 689s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 689s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 689s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 689s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 689s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 689s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 689s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 689s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 689s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 689s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 689s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 689s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 689s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 689s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 689s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 689s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 689s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 689s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 690s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 690s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 690s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 690s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 690s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 690s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 690s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 690s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 690s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 690s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 690s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 690s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 690s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 690s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 690s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 690s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 690s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 690s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 690s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 690s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 690s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 690s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 690s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 690s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 690s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 690s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 690s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 690s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 690s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 690s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 690s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 691s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 691s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 691s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 691s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 691s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 691s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 691s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 691s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 691s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 691s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 691s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 691s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 691s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 691s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 691s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 691s 691s =============================== warnings summary =============================== 691s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 691s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.cYwETr/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 691s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 691s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 691s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 691s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 691s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 691s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 691s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 691s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 691s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 691s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 691s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 691s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 691s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 691s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 691s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 691s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 691s Warning: Could not find accesskey for key.accesskey 691s 691s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 691s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 691s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 691s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 691s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 691s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.cYwETr/autopkgtest_tmp/tests/translate/convert/test.idml'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 691s Warning: unclosed file <_io.BufferedReader name='translation.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 691s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 691s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 691s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 691s Warning: Could not find accesskey for prop.accesskey 691s 691s tests/translate/convert/test_po2tmx.py: 26 warnings 691s tests/translate/filters/test_pofilter.py: 13 warnings 691s tests/translate/storage/test_tbx.py: 17 warnings 691s tests/translate/storage/test_tmx.py: 24 warnings 691s 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' 691s 691s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 691s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 691s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 691s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 691s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 691s Enable tracemalloc to get traceback where the object was allocated. 691s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 691s 692s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 692s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 692s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 692s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 692s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 692s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 692s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 692s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 692s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 692s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.cYwETr/autopkgtest_tmp/tests/translate/convert/test.odt'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 692s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 692s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 692s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 692s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 692s Enable tracemalloc to get traceback where the object was allocated. 692s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 692s 692s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 692s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 692s 692s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 692s Warning: DTD file '' does not validate 692s 692s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 692s --------------------------- snapshot report summary ---------------------------- 692s 23 snapshots passed. 692s =========================== short test summary info ============================ 692s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 692s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 692s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 692s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 692s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 692s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 692s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 692s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 692s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 692s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 692s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 692s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 692s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 692s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 692s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 692s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 692s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 692s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 692s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 692s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 692s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 692s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 692s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 692s 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. 692s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 692s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 692s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 692s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 692s 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 692s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 692s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 692s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 692s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 692s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 692s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 692s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 692s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 692s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 692s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 692s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 692s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 692s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 692s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 692s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 692s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 692s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 692s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 18.40s ========== 692s autopkgtest [06:52:26]: test python3-translate: -----------------------] 693s python3-translate PASS 693s autopkgtest [06:52:27]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 693s autopkgtest [06:52:27]: test python3-translate-commands: preparing testbed 695s Reading package lists... 695s Building dependency tree... 695s Reading state information... 695s Starting pkgProblemResolver with broken count: 0 695s Starting 2 pkgProblemResolver with broken count: 0 695s Done 696s The following additional packages will be installed: 696s translate-toolkit 696s Recommended packages: 696s translate-toolkit-doc 696s The following NEW packages will be installed: 696s autopkgtest-satdep translate-toolkit 696s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 696s Need to get 88.2 kB/89.1 kB of archives. 696s After this operation, 253 kB of additional disk space will be used. 696s Get:1 /tmp/autopkgtest.cYwETr/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [888 B] 696s Get:2 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 696s Fetched 88.2 kB in 0s (290 kB/s) 696s Selecting previously unselected package translate-toolkit. 697s (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 ... 81202 files and directories currently installed.) 697s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 697s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 697s Selecting previously unselected package autopkgtest-satdep. 697s Preparing to unpack .../3-autopkgtest-satdep.deb ... 697s Unpacking autopkgtest-satdep (0) ... 697s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 697s Setting up autopkgtest-satdep (0) ... 697s Processing triggers for man-db (2.12.0-4build2) ... 700s (Reading database ... 81375 files and directories currently installed.) 700s Removing autopkgtest-satdep (0) ... 701s autopkgtest [06:52:35]: test python3-translate-commands: [----------------------- 701s ============================= test session starts ============================== 701s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 701s cachedir: .pytest_cache 701s rootdir: /tmp/autopkgtest.cYwETr/autopkgtest_tmp 701s plugins: syrupy-4.6.1 707s collecting ... collected 3313 items / 2 skipped 707s 707s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 707s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 707s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 707s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 707s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 707s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 707s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 707s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 707s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 707s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 707s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 707s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 707s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 707s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 707s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 708s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 708s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 708s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 708s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 708s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 708s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 708s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 708s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 708s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 708s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 708s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 708s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 708s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 708s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 708s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 708s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 708s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 708s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 708s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 708s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 708s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 708s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 708s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 708s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 708s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 708s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 708s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 708s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 708s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 708s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 708s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 708s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 709s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 709s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 709s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 709s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 709s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 709s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 709s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 709s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 709s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 710s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 710s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 710s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 710s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 710s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 710s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 710s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 710s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 710s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 710s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 710s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 710s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 710s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 710s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 710s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 710s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 710s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 710s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 710s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 710s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 710s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 710s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 710s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 710s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 710s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 710s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 710s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 710s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 710s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 710s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 710s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 710s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 710s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 710s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 710s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 710s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 710s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 710s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 710s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 711s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 711s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 711s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 711s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 711s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 711s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 711s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 711s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 711s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 711s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 711s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 711s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 711s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 711s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 711s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 711s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 711s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 711s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 711s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 711s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 711s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 711s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 711s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 711s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 711s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 711s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 711s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 711s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 711s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 711s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 711s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 711s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 711s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 711s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 711s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 711s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 711s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 711s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 711s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 711s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 711s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 711s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 711s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 711s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 711s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 711s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 711s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 711s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 711s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 711s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 711s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 711s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 711s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 711s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 711s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 711s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 711s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 711s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 711s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 711s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 711s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 711s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 711s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 711s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 711s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 711s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 711s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 711s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 711s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 711s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 711s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 711s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 711s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 712s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 712s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 712s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 712s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 712s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 712s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 712s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 712s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 712s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 712s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 712s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 712s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 712s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 712s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 712s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 712s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 713s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 713s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 713s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 713s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 713s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 713s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 713s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 713s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 713s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 713s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 713s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 713s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 713s 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%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 713s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 713s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 713s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 713s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 713s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 713s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 713s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 713s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 713s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 713s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 713s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 713s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 713s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 714s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 714s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 714s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 714s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 714s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 714s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 714s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 714s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 715s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 715s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 715s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 715s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 715s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 715s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 715s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 715s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 715s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 715s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 715s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 715s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 715s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 715s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 715s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 716s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 716s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 716s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 716s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 716s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 716s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 716s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 716s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 716s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 716s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 716s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 716s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 716s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 716s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 716s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 716s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 716s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 716s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 716s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 716s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 716s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 716s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 716s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 716s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 716s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 716s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 716s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 717s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 717s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 717s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 717s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 717s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 717s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 718s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 718s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 718s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 718s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 718s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 718s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 718s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 718s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 718s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 718s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 718s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 718s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 718s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 718s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 718s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 719s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 719s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 719s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 719s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 719s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 719s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 719s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 719s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 719s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 719s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 719s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 719s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 719s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 719s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 719s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 719s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 719s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 719s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 720s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 720s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 720s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 720s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 720s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 720s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 720s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 720s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 720s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 720s 720s =============================== warnings summary =============================== 720s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 720s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.cYwETr/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 720s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 720s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 720s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 720s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 720s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 720s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 720s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 720s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 720s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 720s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 720s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 720s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 720s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 720s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 720s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 720s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 720s Warning: Could not find accesskey for key.accesskey 720s 720s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 720s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 720s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 720s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 720s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 720s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.cYwETr/autopkgtest_tmp/tests/translate/convert/test.idml'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 720s Warning: unclosed file <_io.BufferedReader name='translation.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 720s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 720s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 720s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 720s Warning: Could not find accesskey for prop.accesskey 720s 720s tests/translate/convert/test_po2tmx.py: 26 warnings 720s tests/translate/filters/test_pofilter.py: 13 warnings 720s tests/translate/storage/test_tbx.py: 17 warnings 720s tests/translate/storage/test_tmx.py: 24 warnings 720s 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' 720s 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 720s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 720s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 720s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 720s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 720s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 720s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 720s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 720s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 720s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 720s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 720s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.cYwETr/autopkgtest_tmp/tests/translate/convert/test.odt'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 720s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 720s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 720s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 720s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 720s Enable tracemalloc to get traceback where the object was allocated. 720s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 720s 720s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 720s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 720s 720s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 720s Warning: DTD file '' does not validate 720s 720s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 720s --------------------------- snapshot report summary ---------------------------- 720s 23 snapshots passed. 720s =========================== short test summary info ============================ 720s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 720s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 720s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 720s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 720s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 720s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 720s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 720s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 720s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 720s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 720s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 720s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 720s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 720s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 720s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 720s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 720s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 720s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 720s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 720s 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. 720s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 720s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 720s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 720s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 720s 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 720s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 720s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 720s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 720s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 720s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 720s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 720s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 720s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 720s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 720s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 720s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 720s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 720s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 720s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 720s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 720s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 720s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 720s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 19.16s ========== 721s autopkgtest [06:52:55]: test python3-translate-commands: -----------------------] 722s autopkgtest [06:52:56]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 722s python3-translate-commands PASS 722s autopkgtest [06:52:56]: @@@@@@@@@@@@@@@@@@@@ summary 722s translate-toolkit PASS 722s python3-translate PASS 722s python3-translate-commands PASS 733s Creating nova instance adt-oracular-arm64-translate-toolkit-20240505-064054-juju-7f2275-prod-proposed-migration-environment-3-0e386e65-5f04-4ca5-a9a8-b844556c202b from image adt/ubuntu-oracular-arm64-server-20240505.img (UUID cab8e143-b89e-42dc-afbd-61eafce7a271)... 733s Creating nova instance adt-oracular-arm64-translate-toolkit-20240505-064054-juju-7f2275-prod-proposed-migration-environment-3-0e386e65-5f04-4ca5-a9a8-b844556c202b from image adt/ubuntu-oracular-arm64-server-20240505.img (UUID cab8e143-b89e-42dc-afbd-61eafce7a271)...