0s autopkgtest [11:50:24]: starting date and time: 2024-05-14 11:50:24+0000 0s autopkgtest [11:50:24]: git checkout: 699e7f9f ssh-setup/nova: explicitely set 'fqdn' in cloud-init 0s autopkgtest [11:50:24]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.yk2aamcb/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:xapian-bindings --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=xapian-bindings/1.4.25-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@lcy02-45.secgroup --name adt-oracular-amd64-translate-toolkit-20240514-115024-juju-7f2275-prod-proposed-migration-environment-3-f418d34b-6d77-4743-af53-308a787b7ea9 --image adt/ubuntu-oracular-amd64-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/ 956s autopkgtest [12:06:20]: testbed dpkg architecture: amd64 957s autopkgtest [12:06:21]: testbed apt version: 2.7.14build2 957s autopkgtest [12:06:21]: @@@@@@@@@@@@@@@@@@@@ test bed setup 958s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 958s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [17.7 kB] 958s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1207 kB] 958s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 958s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [130 kB] 958s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [174 kB] 958s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [219 kB] 958s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [7700 B] 958s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [1102 kB] 958s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [542 kB] 958s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [53.9 kB] 958s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [19.4 kB] 958s Fetched 3549 kB in 1s (6689 kB/s) 958s Reading package lists... 961s Reading package lists... 961s Building dependency tree... 961s Reading state information... 961s Calculating upgrade... 961s The following packages will be upgraded: 961s pastebinit 962s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 962s Need to get 14.9 kB of archives. 962s After this operation, 8192 B of additional disk space will be used. 962s Get:1 http://ftpmaster.internal/ubuntu oracular/main amd64 pastebinit all 1.7.0-1 [14.9 kB] 962s Fetched 14.9 kB in 0s (1008 kB/s) 962s (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 ... 73897 files and directories currently installed.) 962s Preparing to unpack .../pastebinit_1.7.0-1_all.deb ... 962s Unpacking pastebinit (1.7.0-1) over (1.6.2-1) ... 962s Setting up pastebinit (1.7.0-1) ... 962s Processing triggers for man-db (2.12.0-4build2) ... 963s Reading package lists... 963s Building dependency tree... 963s Reading state information... 964s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 964s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 964s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 964s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 964s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 965s Reading package lists... 965s Reading package lists... 966s Building dependency tree... 966s Reading state information... 966s Calculating upgrade... 967s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 967s Reading package lists... 967s Building dependency tree... 967s Reading state information... 968s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 970s autopkgtest [12:06:34]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 970s autopkgtest [12:06:34]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 971s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (dsc) [3172 B] 971s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (tar) [1203 kB] 971s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.12.2-1ubuntu1 (diff) [24.4 kB] 972s gpgv: Signature made Wed Apr 10 14:04:46 2024 UTC 972s gpgv: using RSA key A62D2CFBD50B9B5BF360D54B159EB5C4EFC8774C 972s gpgv: Can't check signature: No public key 972s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1ubuntu1.dsc: no acceptable signature found 972s autopkgtest [12:06:36]: testing package translate-toolkit version 3.12.2-1ubuntu1 972s autopkgtest [12:06:36]: build not needed 972s autopkgtest [12:06:36]: test translate-toolkit: preparing testbed 972s Reading package lists... 973s Building dependency tree... 973s Reading state information... 973s Starting pkgProblemResolver with broken count: 0 973s Starting 2 pkgProblemResolver with broken count: 0 973s Done 974s The following additional packages will be installed: 974s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 974s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 974s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 974s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 974s python3-diff-match-patch python3-enchant python3-iniparse 974s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 974s python3-more-itertools python3-phply python3-ply python3-pycountry 974s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 974s python3-simplejson python3-soupsieve python3-translate python3-vobject 974s python3-xapian subversion translate-toolkit 974s Suggested packages: 974s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 974s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 974s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 974s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 974s libapache2-mod-svn subversion-tools 974s Recommended packages: 974s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 974s python3-cssselect python3-html5lib translate-toolkit-doc 974s The following NEW packages will be installed: 974s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 974s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 974s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 974s libxslt1.1 python3-aeidon python3-bs4 python3-cheroot python3-dateutil 974s python3-diff-match-patch python3-enchant python3-iniparse 974s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 974s python3-more-itertools python3-phply python3-ply python3-pycountry 974s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 974s python3-simplejson python3-soupsieve python3-translate python3-vobject 974s python3-xapian subversion translate-toolkit 974s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 974s Need to get 11.2 MB/11.2 MB of archives. 974s After this operation, 51.4 MB of additional disk space will be used. 974s Get:1 /tmp/autopkgtest.PMVZro/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [868 B] 974s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 emacsen-common all 3.0.5 [12.1 kB] 974s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 dictionaries-common all 1.29.7 [188 kB] 974s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14-20240412-0ubuntu1 [147 kB] 974s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB] 974s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 974s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libapr1t64 amd64 1.7.2-3.1build2 [107 kB] 974s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libaprutil1t64 amd64 1.6.3-1.1ubuntu7 [91.9 kB] 974s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libaspell15 amd64 0.60.8.1-1build1 [323 kB] 974s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 974s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 libenchant-2-2 amd64 2.3.3-2build2 [51.4 kB] 974s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 libexttextcat-data all 3.4.7-1build1 [193 kB] 974s Get:13 http://ftpmaster.internal/ubuntu oracular/universe amd64 libserf-1-1 amd64 1.3.10-2 [48.0 kB] 974s Get:14 http://ftpmaster.internal/ubuntu oracular/universe amd64 libutf8proc3 amd64 2.9.0-1build1 [70.6 kB] 974s Get:15 http://ftpmaster.internal/ubuntu oracular/universe amd64 libsvn1 amd64 1.14.3-1build4 [1345 kB] 974s Get:16 http://ftpmaster.internal/ubuntu oracular/universe amd64 libxapian30 amd64 1.4.22-1build1 [716 kB] 974s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libxslt1.1 amd64 1.1.39-0exp1build1 [167 kB] 974s Get:18 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-aeidon all 1.11-2 [221 kB] 974s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-soupsieve all 2.5-1 [33.0 kB] 974s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-bs4 all 4.12.3-1 [109 kB] 974s Get:21 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-more-itertools all 10.2.0-1 [52.9 kB] 974s Get:22 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 974s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 974s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 974s Get:25 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] 974s Get:26 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-enchant all 3.2.2-1 [34.0 kB] 974s Get:27 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-rapidfuzz amd64 3.6.2+ds-1 [2021 kB] 974s Get:28 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-levenshtein amd64 0.25.1-2 [120 kB] 974s Get:29 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-lxml amd64 5.2.1-1 [1243 kB] 974s Get:30 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-mistletoe all 1.3.0-1 [38.0 kB] 974s Get:31 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-ply all 3.11-6 [46.5 kB] 974s Get:32 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 974s Get:33 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml.clib amd64 0.2.8-1build1 [132 kB] 974s Get:34 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 974s Get:35 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-simplejson amd64 3.19.2-1build2 [54.5 kB] 974s Get:36 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-translate all 3.12.2-1ubuntu1 [318 kB] 974s Get:37 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-vobject all 0.9.6.1-2 [40.6 kB] 974s Get:38 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 python3-xapian amd64 1.4.25-1 [439 kB] 974s Get:39 http://ftpmaster.internal/ubuntu oracular/universe amd64 subversion amd64 1.14.3-1build4 [908 kB] 974s Get:40 http://ftpmaster.internal/ubuntu oracular/universe amd64 translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 974s Get:41 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniparse all 0.5-2 [20.0 kB] 974s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 975s Preconfiguring packages ... 975s Fetched 11.2 MB in 0s (25.3 MB/s) 975s Selecting previously unselected package emacsen-common. 975s (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 ... 73899 files and directories currently installed.) 975s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 975s Unpacking emacsen-common (3.0.5) ... 975s Selecting previously unselected package dictionaries-common. 975s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 975s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 975s Unpacking dictionaries-common (1.29.7) ... 975s Selecting previously unselected package libgomp1:amd64. 975s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_amd64.deb ... 975s Unpacking libgomp1:amd64 (14-20240412-0ubuntu1) ... 975s Selecting previously unselected package gettext. 975s Preparing to unpack .../03-gettext_0.21-14ubuntu2_amd64.deb ... 975s Unpacking gettext (0.21-14ubuntu2) ... 975s Selecting previously unselected package hunspell-en-us. 975s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 975s Unpacking hunspell-en-us (1:2020.12.07-2) ... 975s Selecting previously unselected package libapr1t64:amd64. 975s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_amd64.deb ... 975s Unpacking libapr1t64:amd64 (1.7.2-3.1build2) ... 975s Selecting previously unselected package libaprutil1t64:amd64. 975s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_amd64.deb ... 975s Unpacking libaprutil1t64:amd64 (1.6.3-1.1ubuntu7) ... 975s Selecting previously unselected package libaspell15:amd64. 975s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_amd64.deb ... 975s Unpacking libaspell15:amd64 (0.60.8.1-1build1) ... 975s Selecting previously unselected package libhunspell-1.7-0:amd64. 975s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 975s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 975s Selecting previously unselected package libenchant-2-2:amd64. 975s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_amd64.deb ... 975s Unpacking libenchant-2-2:amd64 (2.3.3-2build2) ... 975s Selecting previously unselected package libexttextcat-data. 975s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 975s Unpacking libexttextcat-data (3.4.7-1build1) ... 975s Selecting previously unselected package libserf-1-1:amd64. 975s Preparing to unpack .../11-libserf-1-1_1.3.10-2_amd64.deb ... 975s Unpacking libserf-1-1:amd64 (1.3.10-2) ... 975s Selecting previously unselected package libutf8proc3:amd64. 975s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_amd64.deb ... 975s Unpacking libutf8proc3:amd64 (2.9.0-1build1) ... 975s Selecting previously unselected package libsvn1:amd64. 975s Preparing to unpack .../13-libsvn1_1.14.3-1build4_amd64.deb ... 975s Unpacking libsvn1:amd64 (1.14.3-1build4) ... 975s Selecting previously unselected package libxapian30:amd64. 975s Preparing to unpack .../14-libxapian30_1.4.22-1build1_amd64.deb ... 975s Unpacking libxapian30:amd64 (1.4.22-1build1) ... 975s Selecting previously unselected package libxslt1.1:amd64. 975s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_amd64.deb ... 975s Unpacking libxslt1.1:amd64 (1.1.39-0exp1build1) ... 975s Selecting previously unselected package python3-aeidon. 976s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 976s Unpacking python3-aeidon (1.11-2) ... 976s Selecting previously unselected package python3-soupsieve. 976s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 976s Unpacking python3-soupsieve (2.5-1) ... 976s Selecting previously unselected package python3-bs4. 976s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 976s Unpacking python3-bs4 (4.12.3-1) ... 976s Selecting previously unselected package python3-more-itertools. 976s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 976s Unpacking python3-more-itertools (10.2.0-1) ... 976s Selecting previously unselected package python3-jaraco.functools. 976s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 976s Unpacking python3-jaraco.functools (4.0.0-1) ... 976s Selecting previously unselected package python3-cheroot. 976s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 976s Unpacking python3-cheroot (10.0.0+ds1-2) ... 976s Selecting previously unselected package python3-dateutil. 976s Preparing to unpack .../22-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 976s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 976s Selecting previously unselected package python3-diff-match-patch. 976s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 976s Unpacking python3-diff-match-patch (20230430-1) ... 976s Selecting previously unselected package python3-enchant. 976s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 976s Unpacking python3-enchant (3.2.2-1) ... 976s Selecting previously unselected package python3-rapidfuzz. 976s Preparing to unpack .../25-python3-rapidfuzz_3.6.2+ds-1_amd64.deb ... 976s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 976s Selecting previously unselected package python3-levenshtein. 976s Preparing to unpack .../26-python3-levenshtein_0.25.1-2_amd64.deb ... 976s Unpacking python3-levenshtein (0.25.1-2) ... 976s Selecting previously unselected package python3-lxml:amd64. 976s Preparing to unpack .../27-python3-lxml_5.2.1-1_amd64.deb ... 976s Unpacking python3-lxml:amd64 (5.2.1-1) ... 976s Selecting previously unselected package python3-mistletoe. 976s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 976s Unpacking python3-mistletoe (1.3.0-1) ... 976s Selecting previously unselected package python3-ply. 976s Preparing to unpack .../29-python3-ply_3.11-6_all.deb ... 976s Unpacking python3-ply (3.11-6) ... 976s Selecting previously unselected package python3-phply. 976s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 976s Unpacking python3-phply (1.2.6-1) ... 976s Selecting previously unselected package python3-ruamel.yaml.clib:amd64. 976s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8-1build1_amd64.deb ... 976s Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 976s Selecting previously unselected package python3-ruamel.yaml. 976s Preparing to unpack .../32-python3-ruamel.yaml_0.17.21-1_all.deb ... 976s Unpacking python3-ruamel.yaml (0.17.21-1) ... 976s Selecting previously unselected package python3-simplejson. 976s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_amd64.deb ... 976s Unpacking python3-simplejson (3.19.2-1build2) ... 976s Selecting previously unselected package python3-translate. 976s Preparing to unpack .../34-python3-translate_3.12.2-1ubuntu1_all.deb ... 976s Unpacking python3-translate (3.12.2-1ubuntu1) ... 976s Selecting previously unselected package python3-vobject. 976s Preparing to unpack .../35-python3-vobject_0.9.6.1-2_all.deb ... 976s Unpacking python3-vobject (0.9.6.1-2) ... 976s Selecting previously unselected package python3-xapian. 976s Preparing to unpack .../36-python3-xapian_1.4.25-1_amd64.deb ... 976s Unpacking python3-xapian (1.4.25-1) ... 976s Selecting previously unselected package subversion. 976s Preparing to unpack .../37-subversion_1.14.3-1build4_amd64.deb ... 976s Unpacking subversion (1.14.3-1build4) ... 976s Selecting previously unselected package translate-toolkit. 976s Preparing to unpack .../38-translate-toolkit_3.12.2-1ubuntu1_all.deb ... 976s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 976s Selecting previously unselected package python3-iniparse. 976s Preparing to unpack .../39-python3-iniparse_0.5-2_all.deb ... 976s Unpacking python3-iniparse (0.5-2) ... 976s Selecting previously unselected package python3-pycountry. 976s Preparing to unpack .../40-python3-pycountry_23.12.11+ds1-2_all.deb ... 976s Unpacking python3-pycountry (23.12.11+ds1-2) ... 977s Selecting previously unselected package autopkgtest-satdep. 977s Preparing to unpack .../41-1-autopkgtest-satdep.deb ... 977s Unpacking autopkgtest-satdep (0) ... 977s Setting up python3-more-itertools (10.2.0-1) ... 977s Setting up libxapian30:amd64 (1.4.22-1build1) ... 977s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 977s Setting up python3-diff-match-patch (20230430-1) ... 977s Setting up python3-jaraco.functools (4.0.0-1) ... 977s Setting up python3-aeidon (1.11-2) ... 977s Setting up libutf8proc3:amd64 (2.9.0-1build1) ... 977s Setting up libaspell15:amd64 (0.60.8.1-1build1) ... 977s Setting up python3-ply (3.11-6) ... 978s Setting up python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 978s Setting up libgomp1:amd64 (14-20240412-0ubuntu1) ... 978s Setting up python3-simplejson (3.19.2-1build2) ... 978s Setting up emacsen-common (3.0.5) ... 978s Setting up python3-cheroot (10.0.0+ds1-2) ... 978s Setting up python3-pycountry (23.12.11+ds1-2) ... 978s Setting up python3-xapian (1.4.25-1) ... 978s Setting up python3-ruamel.yaml (0.17.21-1) ... 979s Setting up python3-mistletoe (1.3.0-1) ... 979s Setting up libexttextcat-data (3.4.7-1build1) ... 979s Setting up libapr1t64:amd64 (1.7.2-3.1build2) ... 979s Setting up libxslt1.1:amd64 (1.1.39-0exp1build1) ... 979s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 979s Setting up python3-levenshtein (0.25.1-2) ... 979s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 979s Setting up python3-soupsieve (2.5-1) ... 979s Setting up python3-iniparse (0.5-2) ... 979s Setting up libaprutil1t64:amd64 (1.6.3-1.1ubuntu7) ... 979s Setting up python3-vobject (0.9.6.1-2) ... 979s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 979s patterns['name'] = '[a-zA-Z0-9\-_]+' 979s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 979s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 979s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 979s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 979s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 979s """ 979s Setting up gettext (0.21-14ubuntu2) ... 979s Setting up python3-phply (1.2.6-1) ... 980s Setting up dictionaries-common (1.29.7) ... 980s Setting up libserf-1-1:amd64 (1.3.10-2) ... 980s Setting up python3-bs4 (4.12.3-1) ... 980s Setting up python3-lxml:amd64 (5.2.1-1) ... 980s Setting up hunspell-en-us (1:2020.12.07-2) ... 980s Setting up libsvn1:amd64 (1.14.3-1build4) ... 980s Setting up libenchant-2-2:amd64 (2.3.3-2build2) ... 980s Setting up subversion (1.14.3-1build4) ... 980s Setting up python3-enchant (3.2.2-1) ... 981s Setting up python3-translate (3.12.2-1ubuntu1) ... 981s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 981s Setting up autopkgtest-satdep (0) ... 981s Processing triggers for man-db (2.12.0-4build2) ... 982s Processing triggers for install-info (7.1-3build2) ... 982s Processing triggers for libc-bin (2.39-0ubuntu8) ... 982s Processing triggers for dictionaries-common (1.29.7) ... 986s (Reading database ... 77334 files and directories currently installed.) 986s Removing autopkgtest-satdep (0) ... 986s autopkgtest [12:06:50]: test translate-toolkit: [----------------------- 986s ========= SMOKE TEST: /usr/bin/android2po =========== 986s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 986s 986s Convert Android string files to Gettext PO localization files. See: 986s http://docs.translatehouse.org/projects/translate- 986s toolkit/en/latest/commands/android2po.html for examples and usage 986s instructions. 986s 986s Options: 986s --version show program's version number and exit 986s -h, --help show this help message and exit 986s --manpage output a manpage based on the help 986s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 986s --errorlevel=ERRORLEVEL 986s show errorlevel as: none, message, exception, 986s traceback 986s -i INPUT, --input=INPUT 986s read from INPUT in xml format 986s -x EXCLUDE, --exclude=EXCLUDE 986s exclude names matching EXCLUDE from input paths 986s -o OUTPUT, --output=OUTPUT 986s write to OUTPUT in po, pot formats 986s -t TEMPLATE, --template=TEMPLATE 986s read from TEMPLATE in xml format 986s -S, --timestamp skip conversion if the output file has newer timestamp 986s --duplicates=DUPLICATESTYLE 986s what to do with duplicate strings (identical source 986s text): merge, msgctxt (default: 'msgctxt') 986s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 986s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 986s input files [input files ...] 986s 986s positional arguments: 986s input files 986s 986s options: 986s -h, --help show this help message and exit 986s -d TMDB_FILE, --tmdb TMDB_FILE 986s translation memory database file (default: tm.db) 986s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 986s source language of translation files (default: en) 986s -t TARGET_LANG, --import-target-lang TARGET_LANG 986s target language of translation files 986s ========= SMOKE TEST: /usr/bin/buildxpi =========== 986s usage: Usage: buildxpi.py [] [ ...] 986s 986s positional arguments: 986s langs 986s 986s options: 986s -h, --help show this help message and exit 986s -L L10NBASE, --l10n-base L10NBASE 986s The directory containing the subdirectory. 986s -o OUTPUTDIR, --output-dir OUTPUTDIR 986s The directory to copy the built XPI to (default: 986s current directory). 986s -p MOZPRODUCT, --mozproduct MOZPRODUCT 986s The Mozilla product name (default: "browser"). 986s -s SRCDIR, --src SRCDIR 986s The directory containing the Mozilla l10n sources. 986s -d, --delete-dest Delete output XPI if it already exists. 986s -v, --verbose Be more noisy 986s --soft-max-version Override a fixed max version with one to cover the 986s whole cycle e.g. 24.0a1 becomes 24.0.* 986s ========= SMOKE TEST: /usr/bin/csv2po =========== 987s 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] 987s 987s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 987s See: http://docs.translatehouse.org/projects/translate- 987s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 987s 987s Options: 987s --version show program's version number and exit 987s -h, --help show this help message and exit 987s --manpage output a manpage based on the help 987s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 987s --errorlevel=ERRORLEVEL 987s show errorlevel as: none, message, exception, 987s traceback 987s -i INPUT, --input=INPUT 987s read from INPUT in csv format 987s -x EXCLUDE, --exclude=EXCLUDE 987s exclude names matching EXCLUDE from input paths 987s -o OUTPUT, --output=OUTPUT 987s write to OUTPUT in po, pot formats 987s -t TEMPLATE, --template=TEMPLATE 987s read from TEMPLATE in po, pot, pot formats 987s -S, --timestamp skip conversion if the output file has newer timestamp 987s -P, --pot output PO Templates (.pot) rather than PO files (.po) 987s --charset=CHARSET set charset to decode from csv files 987s --columnorder=COLUMNORDER 987s specify the order and position of columns 987s (location,source,target) 987s --duplicates=DUPLICATESTYLE 987s what to do with duplicate strings (identical source 987s text): merge, msgctxt (default: 'msgctxt') 987s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 987s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 987s 987s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 987s glossary file. See: http://docs.translatehouse.org/projects/translate- 987s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 987s 987s Options: 987s --version show program's version number and exit 987s -h, --help show this help message and exit 987s --manpage output a manpage based on the help 987s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 987s --errorlevel=ERRORLEVEL 987s show errorlevel as: none, message, exception, 987s traceback 987s -i INPUT, --input=INPUT 987s read from INPUT in csv format 987s -x EXCLUDE, --exclude=EXCLUDE 987s exclude names matching EXCLUDE from input paths 987s -o OUTPUT, --output=OUTPUT 987s write to OUTPUT in tbx format 987s -S, --timestamp skip conversion if the output file has newer timestamp 987s --charset=CHARSET set charset to decode from csv files 987s --columnorder=COLUMNORDER 987s specify the order and position of columns 987s (comment,source,target) 987s ========= SMOKE TEST: /usr/bin/dtd2po =========== 987s 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] 987s 987s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 987s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 987s this module You can convert back to .dtd using po2dtd.py. 987s 987s Options: 987s --version show program's version number and exit 987s -h, --help show this help message and exit 987s --manpage output a manpage based on the help 987s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 987s --errorlevel=ERRORLEVEL 987s show errorlevel as: none, message, exception, 987s traceback 987s -i INPUT, --input=INPUT 987s read from INPUT in dtd format 987s -x EXCLUDE, --exclude=EXCLUDE 987s exclude names matching EXCLUDE from input paths 987s -o OUTPUT, --output=OUTPUT 987s write to OUTPUT in po, pot formats 987s -t TEMPLATE, --template=TEMPLATE 987s read from TEMPLATE in dtd format 987s -S, --timestamp skip conversion if the output file has newer timestamp 987s -P, --pot output PO Templates (.pot) rather than PO files (.po) 987s --duplicates=DUPLICATESTYLE 987s what to do with duplicate strings (identical source 987s text): merge, msgctxt (default: 'msgctxt') 987s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 987s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 987s 987s Convert flat XML files to Gettext PO localization files. See: 987s http://docs.translatehouse.org/projects/translate- 987s toolkit/en/latest/commands/flatxml2po.html for examples and usage 987s instructions. 987s 987s Options: 987s --version show program's version number and exit 987s -h, --help show this help message and exit 987s --manpage output a manpage based on the help 987s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 987s --errorlevel=ERRORLEVEL 987s show errorlevel as: none, message, exception, 987s traceback 987s -i INPUT, --input=INPUT 987s read from INPUT in xml format 987s -x EXCLUDE, --exclude=EXCLUDE 987s exclude names matching EXCLUDE from input paths 987s -o OUTPUT, --output=OUTPUT 987s write to OUTPUT in po, pot formats 987s -S, --timestamp skip conversion if the output file has newer timestamp 987s -r ROOT, --root=ROOT name of the XML root element (default: "root") 987s -v VALUE, --value=VALUE 987s name of the XML value element (default: "str") 987s -k KEY, --key=KEY name of the XML key attribute (default: "key") 987s -n NS, --namespace=NS 987s XML namespace uri (default: None) 987s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 987s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 987s [--delete-dest] [-v] 987s 987s options: 987s -h, --help show this help message and exit 987s -s SRCDIR, --src SRCDIR 987s The directory containing the Mozilla l10n sources. 987s -d DESTDIR, --dest DESTDIR 987s The destination directory to copy the en-US locale 987s files to. 987s -p MOZPRODUCT, --mozproduct MOZPRODUCT 987s The Mozilla product name. 987s --delete-dest Delete the destination directory (if it exists). 987s -v, --verbose Be more noisy 987s ========= SMOKE TEST: /usr/bin/html2po =========== 987s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 987s 987s Convert HTML files to Gettext PO localization files. See: 987s http://docs.translatehouse.org/projects/translate- 987s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 987s 987s Options: 987s --version show program's version number and exit 987s -h, --help show this help message and exit 987s --manpage output a manpage based on the help 987s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 987s --errorlevel=ERRORLEVEL 987s show errorlevel as: none, message, exception, 987s traceback 987s -i INPUT, --input=INPUT 987s read from INPUT in htm, html, xhtml formats 987s -x EXCLUDE, --exclude=EXCLUDE 987s exclude names matching EXCLUDE from input paths 987s -o OUTPUT, --output=OUTPUT 987s write to OUTPUT in po, pot formats 987s -S, --timestamp skip conversion if the output file has newer timestamp 987s -P, --pot output PO Templates (.pot) rather than PO files (.po) 987s --keepcomments preserve html comments as translation notes in the 987s output 987s --duplicates=DUPLICATESTYLE 987s what to do with duplicate strings (identical source 987s text): merge, msgctxt (default: 'msgctxt') 987s --multifile=MULTIFILESTYLE 987s how to split po/pot files (single, toplevel or 987s onefile) 987s ========= SMOKE TEST: /usr/bin/ical2po =========== 987s 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] 987s 987s Convert iCalendar files to Gettext PO localization files. See: 987s http://docs.translatehouse.org/projects/translate- 987s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 987s 987s Options: 987s --version show program's version number and exit 987s -h, --help show this help message and exit 987s --manpage output a manpage based on the help 987s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 987s --errorlevel=ERRORLEVEL 987s show errorlevel as: none, message, exception, 987s traceback 987s -i INPUT, --input=INPUT 987s read from INPUT in ics format 987s -x EXCLUDE, --exclude=EXCLUDE 987s exclude names matching EXCLUDE from input paths 987s -o OUTPUT, --output=OUTPUT 987s write to OUTPUT in po, pot formats 987s -t TEMPLATE, --template=TEMPLATE 987s read from TEMPLATE in ics format 987s -S, --timestamp skip conversion if the output file has newer timestamp 987s -P, --pot output PO Templates (.pot) rather than PO files (.po) 987s --duplicates=DUPLICATESTYLE 987s what to do with duplicate strings (identical source 987s text): merge, msgctxt (default: 'msgctxt') 988s ========= SMOKE TEST: /usr/bin/idml2po =========== 988s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 988s 988s Convert IDML files to PO localization files. 988s 988s Options: 988s --version show program's version number and exit 988s -h, --help show this help message and exit 988s --manpage output a manpage based on the help 988s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 988s --errorlevel=ERRORLEVEL 988s show errorlevel as: none, message, exception, 988s traceback 988s -i INPUT, --input=INPUT 988s read from INPUT in idml format 988s -x EXCLUDE, --exclude=EXCLUDE 988s exclude names matching EXCLUDE from input paths 988s -o OUTPUT, --output=OUTPUT 988s write to OUTPUT in po, pot formats 988s -S, --timestamp skip conversion if the output file has newer timestamp 988s ========= SMOKE TEST: /usr/bin/ini2po =========== 988s 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] 988s 988s Convert .ini files to Gettext PO localization files. See: 988s http://docs.translatehouse.org/projects/translate- 988s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 988s 988s Options: 988s --version show program's version number and exit 988s -h, --help show this help message and exit 988s --manpage output a manpage based on the help 988s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 988s --errorlevel=ERRORLEVEL 988s show errorlevel as: none, message, exception, 988s traceback 988s -i INPUT, --input=INPUT 988s read from INPUT in ini, isl, iss formats 988s -x EXCLUDE, --exclude=EXCLUDE 988s exclude names matching EXCLUDE from input paths 988s -o OUTPUT, --output=OUTPUT 988s write to OUTPUT in po, pot formats 988s -t TEMPLATE, --template=TEMPLATE 988s read from TEMPLATE in ini, isl, iss formats 988s -S, --timestamp skip conversion if the output file has newer timestamp 988s -P, --pot output PO Templates (.pot) rather than PO files (.po) 988s --duplicates=DUPLICATESTYLE 988s what to do with duplicate strings (identical source 988s text): merge, msgctxt (default: 'msgctxt') 988s ========= SMOKE TEST: /usr/bin/json2po =========== 988s 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] 988s 988s Convert JSON files to Gettext PO localization files. See: 988s http://docs.translatehouse.org/projects/translate- 988s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 988s 988s Options: 988s --version show program's version number and exit 988s -h, --help show this help message and exit 988s --manpage output a manpage based on the help 988s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 988s --errorlevel=ERRORLEVEL 988s show errorlevel as: none, message, exception, 988s traceback 988s -i INPUT, --input=INPUT 988s read from INPUT in json format 988s -x EXCLUDE, --exclude=EXCLUDE 988s exclude names matching EXCLUDE from input paths 988s -o OUTPUT, --output=OUTPUT 988s write to OUTPUT in po, pot formats 988s -t TEMPLATE, --template=TEMPLATE 988s read from TEMPLATE in json format 988s -S, --timestamp skip conversion if the output file has newer timestamp 988s -P, --pot output PO Templates (.pot) rather than PO files (.po) 988s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 988s everything) 988s --duplicates=DUPLICATESTYLE 988s what to do with duplicate strings (identical source 988s text): merge, msgctxt (default: 'msgctxt') 988s ========= SMOKE TEST: /usr/bin/md2po =========== 988s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 988s 988s Convert Markdown files to Gettext PO localization files. See: 988s http://docs.translatehouse.org/projects/translate- 988s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 988s 988s Options: 988s --version show program's version number and exit 988s -h, --help show this help message and exit 988s --manpage output a manpage based on the help 988s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 988s --errorlevel=ERRORLEVEL 988s show errorlevel as: none, message, exception, 988s traceback 988s -i INPUT, --input=INPUT 988s read from INPUT in markdown, md, text, txt formats 988s -x EXCLUDE, --exclude=EXCLUDE 988s exclude names matching EXCLUDE from input paths 988s -o OUTPUT, --output=OUTPUT 988s write to OUTPUT in po, pot formats 988s -S, --timestamp skip conversion if the output file has newer timestamp 988s -P, --pot output PO Templates (.pot) rather than PO files (.po) 988s --duplicates=DUPLICATESTYLE 988s what to do with duplicate strings (identical source 988s text): merge, msgctxt (default: 'msgctxt') 988s --multifile=MULTIFILESTYLE 988s how to split po/pot files (single, toplevel or 988s onefile) 989s ========= SMOKE TEST: /usr/bin/moz2po =========== 989s 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] 989s 989s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 989s See: http://docs.translatehouse.org/projects/translate- 989s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 989s 989s Options: 989s --version show program's version number and exit 989s -h, --help show this help message and exit 989s --manpage output a manpage based on the help 989s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 989s --errorlevel=ERRORLEVEL 989s show errorlevel as: none, message, exception, 989s traceback 989s -i INPUT, --input=INPUT 989s read from INPUT in *, dtd, inc, ini, it, js, lang, 989s manifest, properties, rdf formats 989s -x EXCLUDE, --exclude=EXCLUDE 989s exclude names matching EXCLUDE from input paths 989s -o OUTPUT, --output=OUTPUT 989s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 989s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 989s lang.pot, manifest, properties.po, properties.pot, rdf 989s formats 989s -t TEMPLATE, --template=TEMPLATE 989s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 989s manifest, properties, rdf formats 989s -S, --timestamp skip conversion if the output file has newer timestamp 989s -P, --pot output PO Templates (.pot) rather than PO files (.po) 989s --duplicates=DUPLICATESTYLE 989s what to do with duplicate strings (identical source 989s text): merge, msgctxt (default: 'msgctxt') 989s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 989s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 989s 989s Convert Mozilla .lang files to Gettext PO localization files. 989s 989s Options: 989s --version show program's version number and exit 989s -h, --help show this help message and exit 989s --manpage output a manpage based on the help 989s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 989s --errorlevel=ERRORLEVEL 989s show errorlevel as: none, message, exception, 989s traceback 989s -i INPUT, --input=INPUT 989s read from INPUT in lang format 989s -x EXCLUDE, --exclude=EXCLUDE 989s exclude names matching EXCLUDE from input paths 989s -o OUTPUT, --output=OUTPUT 989s write to OUTPUT in po, pot formats 989s -S, --timestamp skip conversion if the output file has newer timestamp 989s -P, --pot output PO Templates (.pot) rather than PO files (.po) 989s --encoding=ENCODING The encoding of the input file (default: UTF-8) 989s --duplicates=DUPLICATESTYLE 989s what to do with duplicate strings (identical source 989s text): merge, msgctxt (default: 'msgctxt') 989s ========= SMOKE TEST: /usr/bin/msghack =========== 989s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 989s This program can be used to alter .po files in ways no sane mind would think about. 989s -o result will be written to FILE 989s --invert invert a po file by switching msgid and msgstr 989s --master join any number of files in a master-formatted catalog 989s --empty empty the contents of the .po file, creating a .pot 989s --append append entries from ref.po that don't exist in file.po 989s 989s Note: It is just a replacement of msghack for backward support. 989s 989s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 989s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 989s 989s Convert OpenDocument (ODF) files to XLIFF localization files. See: 989s http://docs.translatehouse.org/projects/translate- 989s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 989s 989s Options: 989s --version show program's version number and exit 989s -h, --help show this help message and exit 989s --manpage output a manpage based on the help 989s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 989s --errorlevel=ERRORLEVEL 989s show errorlevel as: none, message, exception, 989s traceback 989s -i INPUT, --input=INPUT 989s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 989s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 989s formats 989s -x EXCLUDE, --exclude=EXCLUDE 989s exclude names matching EXCLUDE from input paths 989s -o OUTPUT, --output=OUTPUT 989s write to OUTPUT in xlf, xliff formats 989s -S, --timestamp skip conversion if the output file has newer timestamp 989s ========= SMOKE TEST: /usr/bin/oo2po =========== 989s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 989s 989s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 989s files. See: http://docs.translatehouse.org/projects/translate- 989s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 989s 989s Options: 989s --version show program's version number and exit 989s -h, --help show this help message and exit 989s --manpage output a manpage based on the help 989s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 989s --errorlevel=ERRORLEVEL 989s show errorlevel as: none, message, exception, 989s traceback 989s -i INPUT, --input=INPUT 989s read from INPUT in oo, sdf formats 989s -x EXCLUDE, --exclude=EXCLUDE 989s exclude names matching EXCLUDE from input paths 989s -o OUTPUT, --output=OUTPUT 989s write to OUTPUT in po, pot formats 989s -S, --timestamp skip conversion if the output file has newer timestamp 989s -P, --pot output PO Templates (.pot) rather than PO files (.po) 989s -l LANG, --language=LANG 989s set target language to extract from oo file (e.g. af- 989s ZA) 989s --source-language=LANG 989s set source language code (default en-US) 989s --nonrecursiveinput don't treat the input oo as a recursive store 989s --duplicates=DUPLICATESTYLE 989s what to do with duplicate strings (identical source 989s text): merge, msgctxt (default: 'msgctxt') 989s --multifile=MULTIFILESTYLE 989s how to split po/pot files (single, toplevel or 989s onefile) 989s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 989s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 989s 989s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 989s files. See: http://docs.translatehouse.org/projects/translate- 989s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 989s 989s Options: 989s --version show program's version number and exit 989s -h, --help show this help message and exit 989s --manpage output a manpage based on the help 989s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 989s --errorlevel=ERRORLEVEL 989s show errorlevel as: none, message, exception, 989s traceback 989s -i INPUT, --input=INPUT 989s read from INPUT in oo, sdf formats 989s -x EXCLUDE, --exclude=EXCLUDE 989s exclude names matching EXCLUDE from input paths 989s -o OUTPUT, --output=OUTPUT 989s write to OUTPUT in xlf, xliff formats 989s -S, --timestamp skip conversion if the output file has newer timestamp 989s -l LANG, --language=LANG 989s set target language to extract from oo file (e.g. af- 989s ZA) 989s --source-language=LANG 989s set source language code (default en-US) 989s --nonrecursiveinput don't treat the input oo as a recursive store 989s --duplicates=DUPLICATESTYLE 989s what to do with duplicate strings (identical source 989s text): merge, msgctxt (default: 'msgctxt') 989s --multifile=MULTIFILESTYLE 989s how to split po/pot files (single, toplevel or 989s onefile) 989s ========= SMOKE TEST: /usr/bin/php2po =========== 989s 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] 989s 989s Convert PHP localization files to Gettext PO localization files. See: 989s http://docs.translatehouse.org/projects/translate- 989s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 989s 989s Options: 989s --version show program's version number and exit 989s -h, --help show this help message and exit 989s --manpage output a manpage based on the help 989s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 989s --errorlevel=ERRORLEVEL 989s show errorlevel as: none, message, exception, 989s traceback 989s -i INPUT, --input=INPUT 989s read from INPUT in html, php formats 989s -x EXCLUDE, --exclude=EXCLUDE 989s exclude names matching EXCLUDE from input paths 989s -o OUTPUT, --output=OUTPUT 989s write to OUTPUT in po, pot formats 989s -t TEMPLATE, --template=TEMPLATE 989s read from TEMPLATE in html, php formats 989s -S, --timestamp skip conversion if the output file has newer timestamp 989s -P, --pot output PO Templates (.pot) rather than PO files (.po) 989s --duplicates=DUPLICATESTYLE 989s what to do with duplicate strings (identical source 989s text): merge, msgctxt (default: 'msgctxt') 990s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 990s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 990s 990s Convert PHP format .po files to Python format .po files. 990s 990s Options: 990s --version show program's version number and exit 990s -h, --help show this help message and exit 990s --manpage output a manpage based on the help 990s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 990s --errorlevel=ERRORLEVEL 990s show errorlevel as: none, message, exception, 990s traceback 990s -i INPUT, --input=INPUT 990s read from INPUT in po, pot formats 990s -x EXCLUDE, --exclude=EXCLUDE 990s exclude names matching EXCLUDE from input paths 990s -o OUTPUT, --output=OUTPUT 990s write to OUTPUT in po, pot formats 990s -S, --timestamp skip conversion if the output file has newer timestamp 990s ========= SMOKE TEST: /usr/bin/po2csv =========== 990s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 990s 990s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 990s See: http://docs.translatehouse.org/projects/translate- 990s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 990s 990s Options: 990s --version show program's version number and exit 990s -h, --help show this help message and exit 990s --manpage output a manpage based on the help 990s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 990s --errorlevel=ERRORLEVEL 990s show errorlevel as: none, message, exception, 990s traceback 990s -i INPUT, --input=INPUT 990s read from INPUT in po, pot formats 990s -x EXCLUDE, --exclude=EXCLUDE 990s exclude names matching EXCLUDE from input paths 990s -o OUTPUT, --output=OUTPUT 990s write to OUTPUT in csv format 990s -S, --timestamp skip conversion if the output file has newer timestamp 990s --columnorder=COLUMNORDER 990s specify the order and position of columns 990s (location,source,target) 990s ========= SMOKE TEST: /usr/bin/po2dtd =========== 990s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 990s 990s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 990s Conversion is either done using a template plus PO file or just using the 990s .po file. 990s 990s Options: 990s --version show program's version number and exit 990s -h, --help show this help message and exit 990s --manpage output a manpage based on the help 990s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 990s --errorlevel=ERRORLEVEL 990s show errorlevel as: none, message, exception, 990s traceback 990s -i INPUT, --input=INPUT 990s read from INPUT in po, pot formats 990s -x EXCLUDE, --exclude=EXCLUDE 990s exclude names matching EXCLUDE from input paths 990s -o OUTPUT, --output=OUTPUT 990s write to OUTPUT in dtd format 990s -t TEMPLATE, --template=TEMPLATE 990s read from TEMPLATE in dtd format 990s -S, --timestamp skip conversion if the output file has newer timestamp 990s --threshold=PERCENT only convert files where the translation completion is 990s above PERCENT 990s --fuzzy use translations marked fuzzy 990s --nofuzzy don't use translations marked fuzzy (default) 990s --removeuntranslated remove untranslated strings from output 990s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 990s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 990s 990s Convert Gettext PO localization files to flat XML files. See: 990s http://docs.translatehouse.org/projects/translate- 990s toolkit/en/latest/commands/flatxml2po.html for examples and usage 990s instructions. 990s 990s Options: 990s --version show program's version number and exit 990s -h, --help show this help message and exit 990s --manpage output a manpage based on the help 990s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 990s --errorlevel=ERRORLEVEL 990s show errorlevel as: none, message, exception, 990s traceback 990s -i INPUT, --input=INPUT 990s read from INPUT in po, pot formats 990s -x EXCLUDE, --exclude=EXCLUDE 990s exclude names matching EXCLUDE from input paths 990s -o OUTPUT, --output=OUTPUT 990s write to OUTPUT in xml format 990s -t TEMPLATE, --template=TEMPLATE 990s read from TEMPLATE in xml format 990s -S, --timestamp skip conversion if the output file has newer timestamp 990s -r ROOT, --root=ROOT name of the XML root element (default: "root") 990s -v VALUE, --value=VALUE 990s name of the XML value element (default: "str") 990s -k KEY, --key=KEY name of the XML key attribute (default: "key") 990s -n NS, --namespace=NS 990s XML namespace uri (default: None) 990s -w INDENT, --indent=INDENT 990s indent width in spaces, 0 for no indent (default: 2) 990s ========= SMOKE TEST: /usr/bin/po2html =========== 990s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 990s 990s Translate HTML files using Gettext PO localization files. See: 990s http://docs.translatehouse.org/projects/translate- 990s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 990s 990s Options: 990s --version show program's version number and exit 990s -h, --help show this help message and exit 990s --manpage output a manpage based on the help 990s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 990s --errorlevel=ERRORLEVEL 990s show errorlevel as: none, message, exception, 990s traceback 990s -i INPUT, --input=INPUT 990s read from INPUT in po, pot formats 990s -x EXCLUDE, --exclude=EXCLUDE 990s exclude names matching EXCLUDE from input paths 990s -o OUTPUT, --output=OUTPUT 990s write to OUTPUT in htm, html, xhtml formats 990s -t TEMPLATE, --template=TEMPLATE 990s read from TEMPLATE in htm, html, xhtml formats 990s -S, --timestamp skip conversion if the output file has newer timestamp 990s --threshold=PERCENT only convert files where the translation completion is 990s above PERCENT 990s --fuzzy use translations marked fuzzy 990s --nofuzzy don't use translations marked fuzzy (default) 990s ========= SMOKE TEST: /usr/bin/po2ical =========== 990s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 990s 990s Convert Gettext PO localization files to iCalendar files. See: 990s http://docs.translatehouse.org/projects/translate- 990s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 990s 990s Options: 990s --version show program's version number and exit 990s -h, --help show this help message and exit 990s --manpage output a manpage based on the help 990s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 990s --errorlevel=ERRORLEVEL 990s show errorlevel as: none, message, exception, 990s traceback 990s -i INPUT, --input=INPUT 990s read from INPUT in po, pot formats 990s -x EXCLUDE, --exclude=EXCLUDE 990s exclude names matching EXCLUDE from input paths 990s -o OUTPUT, --output=OUTPUT 990s write to OUTPUT in ics format 990s -t TEMPLATE, --template=TEMPLATE 990s read from TEMPLATE in ics format 990s -S, --timestamp skip conversion if the output file has newer timestamp 990s --threshold=PERCENT only convert files where the translation completion is 990s above PERCENT 990s --fuzzy use translations marked fuzzy 990s --nofuzzy don't use translations marked fuzzy (default) 990s ========= SMOKE TEST: /usr/bin/po2idml =========== 991s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 991s 991s Takes an IDML template file and a PO file containing translations of strings 991s in the IDML template. It creates a new IDML file using the translations of the 991s PO file. 991s 991s Options: 991s --version show program's version number and exit 991s -h, --help show this help message and exit 991s --manpage output a manpage based on the help 991s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 991s --errorlevel=ERRORLEVEL 991s show errorlevel as: none, message, exception, 991s traceback 991s -i INPUT, --input=INPUT 991s read from INPUT in po, pot formats 991s -x EXCLUDE, --exclude=EXCLUDE 991s exclude names matching EXCLUDE from input paths 991s -o OUTPUT, --output=OUTPUT 991s write to OUTPUT in idml format 991s -t TEMPLATE, --template=TEMPLATE 991s read from TEMPLATE in idml format 991s -S, --timestamp skip conversion if the output file has newer timestamp 991s ========= SMOKE TEST: /usr/bin/po2ini =========== 991s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 991s 991s Convert Gettext PO localization files to .ini files. See: 991s http://docs.translatehouse.org/projects/translate- 991s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 991s 991s Options: 991s --version show program's version number and exit 991s -h, --help show this help message and exit 991s --manpage output a manpage based on the help 991s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 991s --errorlevel=ERRORLEVEL 991s show errorlevel as: none, message, exception, 991s traceback 991s -i INPUT, --input=INPUT 991s read from INPUT in po, pot formats 991s -x EXCLUDE, --exclude=EXCLUDE 991s exclude names matching EXCLUDE from input paths 991s -o OUTPUT, --output=OUTPUT 991s write to OUTPUT in ini, isl formats 991s -t TEMPLATE, --template=TEMPLATE 991s read from TEMPLATE in ini, isl formats 991s -S, --timestamp skip conversion if the output file has newer timestamp 991s --threshold=PERCENT only convert files where the translation completion is 991s above PERCENT 991s --fuzzy use translations marked fuzzy 991s --nofuzzy don't use translations marked fuzzy (default) 991s ========= SMOKE TEST: /usr/bin/po2json =========== 991s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 991s 991s Convert Gettext PO localization files to JSON files. See: 991s http://docs.translatehouse.org/projects/translate- 991s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 991s 991s Options: 991s --version show program's version number and exit 991s -h, --help show this help message and exit 991s --manpage output a manpage based on the help 991s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 991s --errorlevel=ERRORLEVEL 991s show errorlevel as: none, message, exception, 991s traceback 991s -i INPUT, --input=INPUT 991s read from INPUT in po, pot formats 991s -x EXCLUDE, --exclude=EXCLUDE 991s exclude names matching EXCLUDE from input paths 991s -o OUTPUT, --output=OUTPUT 991s write to OUTPUT in json format 991s -t TEMPLATE, --template=TEMPLATE 991s read from TEMPLATE in json format 991s -S, --timestamp skip conversion if the output file has newer timestamp 991s --threshold=PERCENT only convert files where the translation completion is 991s above PERCENT 991s --fuzzy use translations marked fuzzy 991s --nofuzzy don't use translations marked fuzzy (default) 991s --removeuntranslated remove untranslated strings from output 991s ========= SMOKE TEST: /usr/bin/po2md =========== 991s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 991s 991s Translate Markdown files using Gettext PO localization files. See: 991s http://docs.translatehouse.org/projects/translate- 991s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 991s 991s Options: 991s --version show program's version number and exit 991s -h, --help show this help message and exit 991s --manpage output a manpage based on the help 991s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 991s --errorlevel=ERRORLEVEL 991s show errorlevel as: none, message, exception, 991s traceback 991s -i INPUT, --input=INPUT 991s read from INPUT in po, pot formats 991s -x EXCLUDE, --exclude=EXCLUDE 991s exclude names matching EXCLUDE from input paths 991s -o OUTPUT, --output=OUTPUT 991s write to OUTPUT in markdown, md, text, txt formats 991s -t TEMPLATE, --template=TEMPLATE 991s read from TEMPLATE in markdown, md, text, txt formats 991s -S, --timestamp skip conversion if the output file has newer timestamp 991s -m MAXLENGTH, --maxlinelength=MAXLENGTH 991s reflow (word wrap) the output to the given maximum 991s line length. set to 0 to disable 991s --threshold=PERCENT only convert files where the translation completion is 991s above PERCENT 991s --fuzzy use translations marked fuzzy 991s --nofuzzy don't use translations marked fuzzy (default) 992s ========= SMOKE TEST: /usr/bin/po2moz =========== 992s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 992s 992s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 992s See: http://docs.translatehouse.org/projects/translate- 992s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 992s 992s Options: 992s --version show program's version number and exit 992s -h, --help show this help message and exit 992s --manpage output a manpage based on the help 992s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 992s --errorlevel=ERRORLEVEL 992s show errorlevel as: none, message, exception, 992s traceback 992s -i INPUT, --input=INPUT 992s read from INPUT in *, dtd.po, dtd.pot, inc.po, 992s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 992s lang.pot, manifest, properties.po, properties.pot, rdf 992s formats 992s -x EXCLUDE, --exclude=EXCLUDE 992s exclude names matching EXCLUDE from input paths 992s -o OUTPUT, --output=OUTPUT 992s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 992s manifest, properties, rdf formats 992s -t TEMPLATE, --template=TEMPLATE 992s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 992s manifest, properties, rdf formats 992s -S, --timestamp skip conversion if the output file has newer timestamp 992s -l LOCALE, --locale=LOCALE 992s set output locale (required as this sets the directory 992s names) 992s --threshold=PERCENT only convert files where the translation completion is 992s above PERCENT 992s --fuzzy use translations marked fuzzy 992s --nofuzzy don't use translations marked fuzzy (default) 992s --removeuntranslated remove untranslated strings from output 992s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 992s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 992s 992s Convert Gettext PO localization files to Mozilla .lang files. 992s 992s Options: 992s --version show program's version number and exit 992s -h, --help show this help message and exit 992s --manpage output a manpage based on the help 992s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 992s --errorlevel=ERRORLEVEL 992s show errorlevel as: none, message, exception, 992s traceback 992s -i INPUT, --input=INPUT 992s read from INPUT in po, pot formats 992s -x EXCLUDE, --exclude=EXCLUDE 992s exclude names matching EXCLUDE from input paths 992s -o OUTPUT, --output=OUTPUT 992s write to OUTPUT in lang format 992s -t TEMPLATE, --template=TEMPLATE 992s read from TEMPLATE in lang format 992s -S, --timestamp skip conversion if the output file has newer timestamp 992s --mark-active mark the file as active 992s --threshold=PERCENT only convert files where the translation completion is 992s above PERCENT 992s --fuzzy use translations marked fuzzy 992s --nofuzzy don't use translations marked fuzzy (default) 992s ========= SMOKE TEST: /usr/bin/po2oo =========== 992s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 992s 992s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 992s file. See: http://docs.translatehouse.org/projects/translate- 992s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 992s 992s Options: 992s --version show program's version number and exit 992s -h, --help show this help message and exit 992s --manpage output a manpage based on the help 992s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 992s --errorlevel=ERRORLEVEL 992s show errorlevel as: none, message, exception, 992s traceback 992s -i INPUT, --input=INPUT 992s read from INPUT in po, pot, xlf, xliff formats 992s -x EXCLUDE, --exclude=EXCLUDE 992s exclude names matching EXCLUDE from input paths 992s -o OUTPUT, --output=OUTPUT 992s write to OUTPUT in oo, sdf formats 992s -t TEMPLATE, --template=TEMPLATE 992s read from TEMPLATE in oo, sdf formats 992s -S, --timestamp skip conversion if the output file has newer timestamp 992s -l LANG, --language=LANG 992s set target language code (e.g. af-ZA) [required] 992s --source-language=LANG 992s set source language code (default en-US) 992s -T, --keeptimestamp don't change the timestamps of the strings 992s --nonrecursiveoutput don't treat the output oo as a recursive store 992s --nonrecursivetemplate 992s don't treat the template oo as a recursive store 992s --skipsource don't output the source language, but fallback to it 992s where needed 992s --filteraction=ACTION 992s action on pofilter failure: none (default), warn, 992s exclude-serious, exclude-all 992s --threshold=PERCENT only convert files where the translation completion is 992s above PERCENT 992s --fuzzy use translations marked fuzzy 992s --nofuzzy don't use translations marked fuzzy (default) 992s --multifile=MULTIFILESTYLE 992s how to split po/pot files (single, toplevel or 992s onefile) 992s ========= SMOKE TEST: /usr/bin/po2php =========== 992s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 992s 992s Convert Gettext PO localization files to PHP localization files. See: 992s http://docs.translatehouse.org/projects/translate- 992s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 992s 992s Options: 992s --version show program's version number and exit 992s -h, --help show this help message and exit 992s --manpage output a manpage based on the help 992s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 992s --errorlevel=ERRORLEVEL 992s show errorlevel as: none, message, exception, 992s traceback 992s -i INPUT, --input=INPUT 992s read from INPUT in po, pot formats 992s -x EXCLUDE, --exclude=EXCLUDE 992s exclude names matching EXCLUDE from input paths 992s -o OUTPUT, --output=OUTPUT 992s write to OUTPUT in html, php formats 992s -t TEMPLATE, --template=TEMPLATE 992s read from TEMPLATE in html, php formats 992s -S, --timestamp skip conversion if the output file has newer timestamp 992s --threshold=PERCENT only convert files where the translation completion is 992s above PERCENT 992s --fuzzy use translations marked fuzzy 992s --nofuzzy don't use translations marked fuzzy (default) 992s ========= SMOKE TEST: /usr/bin/po2prop =========== 992s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 992s 992s Convert Gettext PO localization files to Java/Mozilla .properties files. 992s See: http://docs.translatehouse.org/projects/translate- 992s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 992s 992s Options: 992s --version show program's version number and exit 992s -h, --help show this help message and exit 992s --manpage output a manpage based on the help 992s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 992s --errorlevel=ERRORLEVEL 992s show errorlevel as: none, message, exception, 992s traceback 992s -i INPUT, --input=INPUT 992s read from INPUT in po, pot formats 992s -x EXCLUDE, --exclude=EXCLUDE 992s exclude names matching EXCLUDE from input paths 992s -o OUTPUT, --output=OUTPUT 992s write to OUTPUT in lang, properties, strings formats 992s -t TEMPLATE, --template=TEMPLATE 992s read from TEMPLATE in lang, properties, strings 992s formats 992s -S, --timestamp skip conversion if the output file has newer timestamp 992s --personality=TYPE override the input file format: java, java-utf8, java- 992s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 992s strings, strings-utf8, joomla (for .properties files, 992s default: java) 992s --encoding=ENCODING override the encoding set by the personality 992s --threshold=PERCENT only convert files where the translation completion is 992s above PERCENT 992s --fuzzy use translations marked fuzzy 992s --nofuzzy don't use translations marked fuzzy (default) 992s --removeuntranslated remove untranslated strings from output 992s ========= SMOKE TEST: /usr/bin/po2rc =========== 992s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 992s 992s Convert Gettext PO localization files back to Windows Resource (.rc) files. 992s See: http://docs.translatehouse.org/projects/translate- 992s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 992s 992s Options: 992s --version show program's version number and exit 992s -h, --help show this help message and exit 992s --manpage output a manpage based on the help 992s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 992s --errorlevel=ERRORLEVEL 992s show errorlevel as: none, message, exception, 992s traceback 992s -i INPUT, --input=INPUT 992s read from INPUT in po, pot formats 992s -x EXCLUDE, --exclude=EXCLUDE 992s exclude names matching EXCLUDE from input paths 992s -o OUTPUT, --output=OUTPUT 992s write to OUTPUT in rc format 992s -t TEMPLATE, --template=TEMPLATE 992s read from TEMPLATE in rc format 992s -S, --timestamp skip conversion if the output file has newer timestamp 992s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 992s -l LANG, --lang=LANG LANG entry 992s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 992s --threshold=PERCENT only convert files where the translation completion is 992s above PERCENT 992s --fuzzy use translations marked fuzzy 992s --nofuzzy don't use translations marked fuzzy (default) 993s ========= SMOKE TEST: /usr/bin/po2resx =========== 993s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 993s 993s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in resx format 993s -t TEMPLATE, --template=TEMPLATE 993s read from TEMPLATE in resx format 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s --fuzzy use translations marked fuzzy 993s --nofuzzy don't use translations marked fuzzy (default) 993s ========= SMOKE TEST: /usr/bin/po2sub =========== 993s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 993s 993s Convert Gettext PO localization files to subtitle files. See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in ass, srt, ssa, sub formats 993s -t TEMPLATE, --template=TEMPLATE 993s read from TEMPLATE in ass, srt, ssa, sub formats 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s --threshold=PERCENT only convert files where the translation completion is 993s above PERCENT 993s --fuzzy use translations marked fuzzy 993s --nofuzzy don't use translations marked fuzzy (default) 993s ========= SMOKE TEST: /usr/bin/po2symb =========== 993s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 993s 993s Convert Gettext PO localization files to Symbian translation files. See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in r0 format 993s -t TEMPLATE, --template=TEMPLATE 993s read from TEMPLATE in 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s --duplicates=DUPLICATESTYLE 993s what to do with duplicate strings (identical source 993s text): merge, msgctxt (default: 'msgctxt') 993s ========= SMOKE TEST: /usr/bin/po2tiki =========== 993s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 993s 993s Convert Gettext PO files to TikiWiki's language.php files. See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in tiki format 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s ========= SMOKE TEST: /usr/bin/po2tmx =========== 993s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 993s 993s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 993s file. See: http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in tmx format 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s -l LANG, --language=LANG 993s set target language code (e.g. af-ZA) [required] 993s --source-language=LANG 993s set source language code (default: en) 993s --comments=COMMENT set default comment import: none, source, type or 993s others (default: none) 993s ========= SMOKE TEST: /usr/bin/po2ts =========== 993s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 993s 993s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in ts format 993s -t TEMPLATE, --template=TEMPLATE 993s read from TEMPLATE in ts format 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s -c CONTEXT, --context=CONTEXT 993s use supplied context instead of the one in the .po 993s file comment 993s ========= SMOKE TEST: /usr/bin/po2txt =========== 993s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 993s 993s Convert Gettext PO localization files to plain text (.txt) files. See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot, xlf, xliff formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in txt format 993s -t TEMPLATE, --template=TEMPLATE 993s read from TEMPLATE in txt format 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s --encoding=ENCODING The encoding of the template file (default: UTF-8) 993s -w WRAP, --wrap=WRAP set number of columns to wrap text at 993s --threshold=PERCENT only convert files where the translation completion is 993s above PERCENT 993s --fuzzy use translations marked fuzzy 993s --nofuzzy don't use translations marked fuzzy (default) 993s ========= SMOKE TEST: /usr/bin/po2web2py =========== 993s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 993s 993s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 993s http://docs.translatehouse.org/projects/translate- 993s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 993s 993s Options: 993s --version show program's version number and exit 993s -h, --help show this help message and exit 993s --manpage output a manpage based on the help 993s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 993s --errorlevel=ERRORLEVEL 993s show errorlevel as: none, message, exception, 993s traceback 993s -i INPUT, --input=INPUT 993s read from INPUT in po, pot formats 993s -x EXCLUDE, --exclude=EXCLUDE 993s exclude names matching EXCLUDE from input paths 993s -o OUTPUT, --output=OUTPUT 993s write to OUTPUT in py format 993s -S, --timestamp skip conversion if the output file has newer timestamp 993s --threshold=PERCENT only convert files where the translation completion is 993s above PERCENT 993s --fuzzy use translations marked fuzzy 993s --nofuzzy don't use translations marked fuzzy (default) 993s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 994s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 994s 994s Convert Gettext PO localization files to a Wordfast translation memory file. 994s See: http://docs.translatehouse.org/projects/translate- 994s toolkit/en/latest/commands/po2wordfast.html for examples and usage 994s instructions. 994s 994s Options: 994s --version show program's version number and exit 994s -h, --help show this help message and exit 994s --manpage output a manpage based on the help 994s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 994s --errorlevel=ERRORLEVEL 994s show errorlevel as: none, message, exception, 994s traceback 994s -i INPUT, --input=INPUT 994s read from INPUT in po, pot formats 994s -x EXCLUDE, --exclude=EXCLUDE 994s exclude names matching EXCLUDE from input paths 994s -o OUTPUT, --output=OUTPUT 994s write to OUTPUT in txt format 994s -S, --timestamp skip conversion if the output file has newer timestamp 994s -l LANG, --language=LANG 994s set target language code (e.g. af-ZA) [required] 994s --source-language=LANG 994s set source language code (default: en) 994s ========= SMOKE TEST: /usr/bin/po2xliff =========== 994s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 994s 994s Convert Gettext PO localization files to XLIFF localization files. See: 994s http://docs.translatehouse.org/projects/translate- 994s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 994s 994s Options: 994s --version show program's version number and exit 994s -h, --help show this help message and exit 994s --manpage output a manpage based on the help 994s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 994s --errorlevel=ERRORLEVEL 994s show errorlevel as: none, message, exception, 994s traceback 994s -i INPUT, --input=INPUT 994s read from INPUT in po, pot formats 994s -x EXCLUDE, --exclude=EXCLUDE 994s exclude names matching EXCLUDE from input paths 994s -o OUTPUT, --output=OUTPUT 994s write to OUTPUT in xlf, xliff formats 994s -t TEMPLATE, --template=TEMPLATE 994s read from TEMPLATE in xlf, xliff formats 994s -S, --timestamp skip conversion if the output file has newer timestamp 994s ========= SMOKE TEST: /usr/bin/po2yaml =========== 994s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 994s 994s Convert Gettext PO localization files to YAML files. See: 994s http://docs.translatehouse.org/projects/translate- 994s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 994s 994s Options: 994s --version show program's version number and exit 994s -h, --help show this help message and exit 994s --manpage output a manpage based on the help 994s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 994s --errorlevel=ERRORLEVEL 994s show errorlevel as: none, message, exception, 994s traceback 994s -i INPUT, --input=INPUT 994s read from INPUT in po, pot formats 994s -x EXCLUDE, --exclude=EXCLUDE 994s exclude names matching EXCLUDE from input paths 994s -o OUTPUT, --output=OUTPUT 994s write to OUTPUT in yaml, yml formats 994s -t TEMPLATE, --template=TEMPLATE 994s read from TEMPLATE in yaml, yml formats 994s -S, --timestamp skip conversion if the output file has newer timestamp 994s --threshold=PERCENT only convert files where the translation completion is 994s above PERCENT 994s --fuzzy use translations marked fuzzy 994s --nofuzzy don't use translations marked fuzzy (default) 994s ========= SMOKE TEST: /usr/bin/poclean =========== 994s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 994s 994s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 994s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 994s produces the target file with only the target text in from a text version of 994s the RTF. 994s 994s Options: 994s --version show program's version number and exit 994s -h, --help show this help message and exit 994s --manpage output a manpage based on the help 994s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 994s --errorlevel=ERRORLEVEL 994s show errorlevel as: none, message, exception, 994s traceback 994s -i INPUT, --input=INPUT 994s read from INPUT in po, pot, xlf, xliff formats 994s -x EXCLUDE, --exclude=EXCLUDE 994s exclude names matching EXCLUDE from input paths 994s -o OUTPUT, --output=OUTPUT 994s write to OUTPUT in po, pot, xlf, xliff formats 994s -S, --timestamp skip conversion if the output file has newer timestamp 994s ========= SMOKE TEST: /usr/bin/pocompendium =========== 994s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 994s The first parameter is the output file, standard output if the output file is '-'. 994s Any number of directories may be specified for input files. 994s Options: 994s --invert|v Creates an inverse compendium with msgid and msgstr swapped 994s --errors|e Only ouput msg bundles that have errors 994s --correct|c Only ouput msg bundles that are correctly translated 994s --ignore-case|i Drops all strings to lowercase 994s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 994s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 994s --strip-accel-under|-su Strip all underscore (_) accelerator characters 994s ========= SMOKE TEST: /usr/bin/pocompile =========== 994s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 994s 994s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 994s Object) files. See: http://docs.translatehouse.org/projects/translate- 994s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 994s 994s Options: 994s --version show program's version number and exit 994s -h, --help show this help message and exit 994s --manpage output a manpage based on the help 994s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 994s --errorlevel=ERRORLEVEL 994s show errorlevel as: none, message, exception, 994s traceback 994s -i INPUT, --input=INPUT 994s read from INPUT in po, pot, xlf, xliff formats 994s -x EXCLUDE, --exclude=EXCLUDE 994s exclude names matching EXCLUDE from input paths 994s -o OUTPUT, --output=OUTPUT 994s write to OUTPUT in mo format 994s -S, --timestamp skip conversion if the output file has newer timestamp 994s --fuzzy use translations marked fuzzy 994s --nofuzzy don't use translations marked fuzzy (default) 994s ========= SMOKE TEST: /usr/bin/poconflicts =========== 994s 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] 994s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 994s 994s Conflict finder for Gettext PO localization files. See: 994s http://docs.translatehouse.org/projects/translate- 994s toolkit/en/latest/commands/poconflicts.html for examples and usage 994s instructions. 994s 994s Options: 994s --version show program's version number and exit 994s -h, --help show this help message and exit 994s --manpage output a manpage based on the help 994s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 994s --errorlevel=ERRORLEVEL 994s show errorlevel as: none, message, exception, 994s traceback 994s -i INPUT, --input=INPUT 994s read from INPUT in po format 994s -x EXCLUDE, --exclude=EXCLUDE 994s exclude names matching EXCLUDE from input paths 994s -o OUTPUT, --output=OUTPUT 994s write to OUTPUT in po format 994s -I, --ignore-case ignore case distinctions 994s -v, --invert invert the conflicts thus extracting conflicting 994s destination words 994s --accelerator=ACCELERATORS 994s ignores the given accelerator characters when matching 994s ========= SMOKE TEST: /usr/bin/pocount =========== 994s usage: pocount [-h] [--incomplete] 994s [--full | --csv | --short | --short-strings | --short-words] 994s [--no-color] 994s files [files ...] 994s 994s positional arguments: 994s files 994s 994s options: 994s -h, --help show this help message and exit 994s --incomplete skip 100% translated files. 994s 994s Output format: 994s --full (default) statistics in full, verbose format 994s --csv statistics in CSV format 994s --short same as --short-strings 994s --short-strings statistics of strings in short format - one line per file 994s --short-words statistics of words in short format - one line per file 994s --no-color show output without color 994s ========= SMOKE TEST: /usr/bin/podebug =========== 995s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 995s 995s Insert debug messages into XLIFF and Gettext PO localization files. See: 995s http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in po, pot, pot, tmx, xlf, xliff 995s formats 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in po, pot, tmx, xlf, xliff formats 995s -S, --timestamp skip conversion if the output file has newer timestamp 995s -f FORMAT, --format=FORMAT 995s specify format string 995s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 995s classified, en, flipped, unicode, xxx 995s --ignore=APPLICATION apply tagging ignore rules for the given application: 995s gtk, kde, libreoffice, mozilla, openoffice 995s --preserveplaceholders 995s attempt to exclude characters that are part of 995s placeholders when performing character-level rewrites 995s so that consuming applications can still use the 995s placeholders to generate final output 995s ========= SMOKE TEST: /usr/bin/pofilter =========== 995s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 995s 995s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 995s Snippet files are created whenever a test fails. These can be examined, 995s corrected and merged back into the originals using pomerge. See: 995s http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 995s and http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 995s tests. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in po, pot, tmx, xlf, xliff formats 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in po, pot, tmx, xlf, xliff formats 995s -l, --listfilters list filters available 995s --review include units marked for review (default) 995s --noreview exclude units marked for review 995s --fuzzy include units marked fuzzy (default) 995s --nofuzzy exclude units marked fuzzy 995s --nonotes don't add notes about the errors 995s --autocorrect output automatic corrections where possible rather 995s than describing issues 995s --language=LANG set target language code (e.g. af-ZA) [required for 995s spell check and recommended in general] 995s --openoffice use the standard checks for OpenOffice translations 995s --libreoffice use the standard checks for LibreOffice translations 995s --mozilla use the standard checks for Mozilla translations 995s --drupal use the standard checks for Drupal translations 995s --gnome use the standard checks for Gnome translations 995s --kde use the standard checks for KDE translations 995s --wx use the standard checks for wxWidgets translations 995s --excludefilter=FILTER 995s don't use FILTER when filtering 995s -t FILTER, --test=FILTER 995s only use test FILTERs specified with this option when 995s filtering 995s --notranslatefile=FILE 995s read list of untranslatable words from FILE (must not 995s be translated) 995s --musttranslatefile=FILE 995s read list of translatable words from FILE (must be 995s translated) 995s --validcharsfile=FILE 995s read list of all valid characters from FILE (must be 995s in UTF-8) 995s ========= SMOKE TEST: /usr/bin/pogrep =========== 995s 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] 995s 995s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 995s snippet files of the same type which can then be reviewed and later merged 995s using :doc:`pomerge `. See: 995s http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 995s xliff formats 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 995s xliff formats 995s --search=SEARCHPARTS searches the given parts (source, target, notes and 995s locations) 995s -I, --ignore-case ignore case distinctions 995s -e, --regexp use regular expression matching 995s -v, --invert-match select non-matching lines 995s --accelerator=ACCELERATOR 995s ignores the given accelerator when matching 995s -k, --keep-translations 995s always extract units with translations 995s ========= SMOKE TEST: /usr/bin/pomerge =========== 995s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 995s 995s Merges XLIFF and Gettext PO localization files. Snippet file produced by 995s e.g. :doc:`pogrep ` and updated by a translator can be 995s merged back into the original files. See: 995s http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in po, pot, pot, xlf, xliff formats 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in po, pot, pot, xlf, xliff formats 995s -t TEMPLATE, --template=TEMPLATE 995s read from TEMPLATE in po, pot, pot, xlf, xliff formats 995s -S, --timestamp skip conversion if the output file has newer timestamp 995s --mergeblanks=MERGEBLANKS 995s whether to overwrite existing translations with blank 995s translations (yes/no). Default is yes. 995s --mergefuzzy=MERGEFUZZY 995s whether to consider fuzzy translations from input 995s (yes/no). Default is yes. 995s --mergecomments=MERGECOMMENTS 995s whether to merge comments as well as translations 995s (yes/no). Default is yes. 995s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 995s Usage pomigrate2 [options] 995s 995s Options: 995s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 995s -C|--use-compendium - create and use a compendium built from the migrating files 995s -C|--use-compendium=some-compendium.po 995s - use an external compendium during the migration 995s --no-wrap - do not wrap long lines 995s --locale=lang - set locale for newly born files 995s -q|--quiet - suppress most output 995s -p|--pot2po - use pot2po instead of msgmerge to migrate 995s ========= SMOKE TEST: /usr/bin/popuretext =========== 995s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 995s ========= SMOKE TEST: /usr/bin/poreencode =========== 995s Usage: poreencode 995s eg: poreencode UTF-8 af/ 995s ========= SMOKE TEST: /usr/bin/porestructure =========== 995s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 995s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 995s 995s Restructure Gettxt PO files produced by :doc:`poconflicts 995s ` into the original directory tree for merging using 995s :doc:`pomerge `. See: 995s http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in po format 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in po format 995s ========= SMOKE TEST: /usr/bin/posegment =========== 995s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 995s 995s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 995s See: http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in po, pot, tmx, xlf, xliff formats 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in po, pot, tmx, xlf, xliff formats 995s -S, --timestamp skip conversion if the output file has newer timestamp 995s -P, --pot output PO Templates (.pot) rather than PO files (.po) 995s -l LANG, --language=LANG 995s the target language code 995s --source-language=LANG 995s the source language code (default 'en') 995s --keepspaces Disable automatic stripping of whitespace 995s --only-aligned Removes units where sentence number does not 995s correspond 995s ========= SMOKE TEST: /usr/bin/poswap =========== 995s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 995s 995s Builds a new translation file with the target of the input language as source 995s language. .. note:: Ensure that the two po files correspond 100% to the same 995s pot file before using this. To translate Kurdish (ku) through French:: 995s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 995s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 995s http://docs.translatehouse.org/projects/translate- 995s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 995s 995s Options: 995s --version show program's version number and exit 995s -h, --help show this help message and exit 995s --manpage output a manpage based on the help 995s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 995s --errorlevel=ERRORLEVEL 995s show errorlevel as: none, message, exception, 995s traceback 995s -i INPUT, --input=INPUT 995s read from INPUT in po, pot formats 995s -x EXCLUDE, --exclude=EXCLUDE 995s exclude names matching EXCLUDE from input paths 995s -o OUTPUT, --output=OUTPUT 995s write to OUTPUT in po, pot formats 995s -t TEMPLATE, --template=TEMPLATE 995s read from TEMPLATE in po, pot, pot formats 995s -S, --timestamp skip conversion if the output file has newer timestamp 995s --reverse reverse the process of intermediate language 995s conversion 996s ========= SMOKE TEST: /usr/bin/pot2po =========== 996s 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] 996s 996s Convert template files (like .pot or template .xlf files) to translation 996s files, preserving existing translations. See: 996s http://docs.translatehouse.org/projects/translate- 996s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 996s 996s Options: 996s --version show program's version number and exit 996s -h, --help show this help message and exit 996s --manpage output a manpage based on the help 996s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 996s --errorlevel=ERRORLEVEL 996s show errorlevel as: none, message, exception, 996s traceback 996s -i INPUT, --input=INPUT 996s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 996s formats 996s -x EXCLUDE, --exclude=EXCLUDE 996s exclude names matching EXCLUDE from input paths 996s -o OUTPUT, --output=OUTPUT 996s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 996s xliff formats 996s -t TEMPLATE, --template=TEMPLATE 996s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 996s xliff formats 996s -S, --timestamp skip conversion if the output file has newer timestamp 996s -P, --pot output PO Templates (.pot) rather than PO files (.po) 996s --tm=TM The file to use as translation memory when fuzzy 996s matching 996s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 996s The minimum similarity for inclusion (default: 75%) 996s --nofuzzymatching Disable fuzzy matching 996s ========= SMOKE TEST: /usr/bin/poterminology =========== 996s 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] 996s input directory is searched for PO files, terminology PO file is output file 996s 996s Create a terminology file by reading a set of .po or .pot files to produce a 996s pootle-terminology.pot. See: 996s http://docs.translatehouse.org/projects/translate- 996s toolkit/en/latest/commands/poterminology.html for examples and usage 996s instructions. 996s 996s Options: 996s --version show program's version number and exit 996s -h, --help show this help message and exit 996s --manpage output a manpage based on the help 996s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 996s --errorlevel=ERRORLEVEL 996s show errorlevel as: none, message, exception, 996s traceback 996s -i INPUT, --input=INPUT 996s read from INPUT in po, pot formats 996s -x EXCLUDE, --exclude=EXCLUDE 996s exclude names matching EXCLUDE from input paths 996s -o OUTPUT, --output=OUTPUT 996s write to OUTPUT in po, pot formats 996s -u UPDATEFILE, --update=UPDATEFILE 996s update terminology in UPDATEFILE 996s -S STOPFILE, --stopword-list=STOPFILE 996s read stopword (term exclusion) list from STOPFILE 996s (default /usr/share/pyshared/translate/share/stoplist- 996s en) 996s -F, --fold-titlecase fold "Title Case" to lowercase (default) 996s -C, --preserve-case preserve all uppercase/lowercase 996s -I, --ignore-case make all terms lowercase 996s --accelerator=ACCELERATORS 996s ignore the given accelerator characters when matching 996s -t LENGTH, --term-words=LENGTH 996s generate terms of up to LENGTH words (default 3) 996s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 996s 1) 996s --inputs-needed=MIN omit terms appearing in less than MIN input files 996s (default 2, or 1 if only one input file) 996s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 996s different messages (default 1) 996s --substr-needed=MIN omit substring-only terms appearing in less than MIN 996s different messages (default 2) 996s --locs-needed=MIN omit terms appearing in less than MIN different 996s original source files (default 2) 996s --sort=ORDER output sort order(s): frequency, dictionary, length 996s (may repeat option, default is all in above order) 996s --source-language=LANG 996s the source language code (default 'en') 996s -v, --invert invert the source and target languages for terminology 996s ========= SMOKE TEST: /usr/bin/pretranslate =========== 996s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 996s 996s Fill localization files with suggested translations based on translation 996s memory and existing translations. See: 996s http://docs.translatehouse.org/projects/translate- 996s toolkit/en/latest/commands/pretranslate.html for examples and usage 996s instructions. 996s 996s Options: 996s --version show program's version number and exit 996s -h, --help show this help message and exit 996s --manpage output a manpage based on the help 996s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 996s --errorlevel=ERRORLEVEL 996s show errorlevel as: none, message, exception, 996s traceback 996s -i INPUT, --input=INPUT 996s read from INPUT in po, pot, pot, xlf, xliff formats 996s -x EXCLUDE, --exclude=EXCLUDE 996s exclude names matching EXCLUDE from input paths 996s -o OUTPUT, --output=OUTPUT 996s write to OUTPUT in po, pot, xlf, xliff formats 996s -t TEMPLATE, --template=TEMPLATE 996s read from TEMPLATE in po, pot, xlf, xliff formats 996s -S, --timestamp skip conversion if the output file has newer timestamp 996s --tm=TM The file to use as translation memory when fuzzy 996s matching 996s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 996s The minimum similarity for inclusion (default: 75%) 996s --nofuzzymatching Disable fuzzy matching 996s ========= SMOKE TEST: /usr/bin/prop2po =========== 996s 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] 996s 996s Convert Java/Mozilla .properties files to Gettext PO localization files. 996s See: http://docs.translatehouse.org/projects/translate- 996s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 996s 996s Options: 996s --version show program's version number and exit 996s -h, --help show this help message and exit 996s --manpage output a manpage based on the help 996s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 996s --errorlevel=ERRORLEVEL 996s show errorlevel as: none, message, exception, 996s traceback 996s -i INPUT, --input=INPUT 996s read from INPUT in lang, properties, strings formats 996s -x EXCLUDE, --exclude=EXCLUDE 996s exclude names matching EXCLUDE from input paths 996s -o OUTPUT, --output=OUTPUT 996s write to OUTPUT in po, pot formats 996s -t TEMPLATE, --template=TEMPLATE 996s read from TEMPLATE in lang, properties, strings 996s formats 996s -S, --timestamp skip conversion if the output file has newer timestamp 996s -P, --pot output PO Templates (.pot) rather than PO files (.po) 996s --personality=TYPE override the input file format: java, java-utf8, java- 996s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 996s strings, strings-utf8, joomla (for .properties files, 996s default: java) 996s --encoding=ENCODING override the encoding set by the personality 996s --duplicates=DUPLICATESTYLE 996s what to do with duplicate strings (identical source 996s text): merge, msgctxt (default: 'msgctxt') 996s ========= SMOKE TEST: /usr/bin/pydiff =========== 996s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 996s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 996s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 996s fromfile tofile 996s 996s positional arguments: 996s fromfile 996s tofile 996s 996s options: 996s -h, --help show this help message and exit 996s -i, --ignore-case Ignore case differences in file contents. 996s -U NUM, --unified NUM 996s Output NUM (default 3) lines of unified context 996s -r, --recursive Recursively compare any subdirectories found. 996s -N, --new-file Treat absent files as empty. 996s --unidirectional-new-file 996s Treat absent first files as empty. 996s -s, --report-identical-files 996s Report when two files are the same. 996s -x PAT, --exclude PAT 996s Exclude files that match PAT. 996s --fromcontains TEXT Only show changes where fromfile contains TEXT 996s --tocontains TEXT Only show changes where tofile contains TEXT 996s --contains TEXT Only show changes where fromfile or tofile contains 996s TEXT 996s -I, --ignore-case-contains 996s Ignore case differences when matching any of the 996s changes 996s --accelerator ACCELERATORS 996s ignores the given accelerator characters when matching 996s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 996s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 996s 996s Convert Python format .po files to PHP format .po files. 996s 996s Options: 996s --version show program's version number and exit 996s -h, --help show this help message and exit 996s --manpage output a manpage based on the help 996s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 996s --errorlevel=ERRORLEVEL 996s show errorlevel as: none, message, exception, 996s traceback 996s -i INPUT, --input=INPUT 996s read from INPUT in po, pot formats 996s -x EXCLUDE, --exclude=EXCLUDE 996s exclude names matching EXCLUDE from input paths 996s -o OUTPUT, --output=OUTPUT 996s write to OUTPUT in po, pot formats 996s -S, --timestamp skip conversion if the output file has newer timestamp 997s ========= SMOKE TEST: /usr/bin/rc2po =========== 997s 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] 997s 997s Convert Windows RC files to Gettext PO localization files. See: 997s http://docs.translatehouse.org/projects/translate- 997s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 997s 997s Options: 997s --version show program's version number and exit 997s -h, --help show this help message and exit 997s --manpage output a manpage based on the help 997s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 997s --errorlevel=ERRORLEVEL 997s show errorlevel as: none, message, exception, 997s traceback 997s -i INPUT, --input=INPUT 997s read from INPUT in nls, rc formats 997s -x EXCLUDE, --exclude=EXCLUDE 997s exclude names matching EXCLUDE from input paths 997s -o OUTPUT, --output=OUTPUT 997s write to OUTPUT in po, pot formats 997s -t TEMPLATE, --template=TEMPLATE 997s read from TEMPLATE in nls, rc formats 997s -S, --timestamp skip conversion if the output file has newer timestamp 997s -P, --pot output PO Templates (.pot) rather than PO files (.po) 997s --charset=CHARSET charset to use to decode the RC files (autodetection 997s is used by default) 997s -l LANG, --lang=LANG LANG entry (default: None) 997s --sublang=SUBLANG SUBLANG entry (default: None) 997s --duplicates=DUPLICATESTYLE 997s what to do with duplicate strings (identical source 997s text): merge, msgctxt (default: 'msgctxt') 997s ========= SMOKE TEST: /usr/bin/resx2po =========== 997s 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] 997s 997s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 997s http://docs.translatehouse.org/projects/translate- 997s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 997s 997s Options: 997s --version show program's version number and exit 997s -h, --help show this help message and exit 997s --manpage output a manpage based on the help 997s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 997s --errorlevel=ERRORLEVEL 997s show errorlevel as: none, message, exception, 997s traceback 997s -i INPUT, --input=INPUT 997s read from INPUT in resx format 997s -x EXCLUDE, --exclude=EXCLUDE 997s exclude names matching EXCLUDE from input paths 997s -o OUTPUT, --output=OUTPUT 997s write to OUTPUT in po, pot formats 997s -t TEMPLATE, --template=TEMPLATE 997s read from TEMPLATE in resx format 997s -S, --timestamp skip conversion if the output file has newer timestamp 997s -P, --pot output PO Templates (.pot) rather than PO files (.po) 997s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 997s everything) 997s --duplicates=DUPLICATESTYLE 997s what to do with duplicate strings (identical source 997s text): merge, msgctxt (default: 'msgctxt') 997s ========= SMOKE TEST: /usr/bin/sub2po =========== 997s 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] 997s 997s Convert subtitle files to Gettext PO localization files. See: 997s http://docs.translatehouse.org/projects/translate- 997s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 997s 997s Options: 997s --version show program's version number and exit 997s -h, --help show this help message and exit 997s --manpage output a manpage based on the help 997s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 997s --errorlevel=ERRORLEVEL 997s show errorlevel as: none, message, exception, 997s traceback 997s -i INPUT, --input=INPUT 997s read from INPUT in ass, srt, ssa, sub formats 997s -x EXCLUDE, --exclude=EXCLUDE 997s exclude names matching EXCLUDE from input paths 997s -o OUTPUT, --output=OUTPUT 997s write to OUTPUT in po, pot formats 997s -t TEMPLATE, --template=TEMPLATE 997s read from TEMPLATE in ass, srt, ssa, sub formats 997s -S, --timestamp skip conversion if the output file has newer timestamp 997s -P, --pot output PO Templates (.pot) rather than PO files (.po) 997s --duplicates=DUPLICATESTYLE 997s what to do with duplicate strings (identical source 997s text): merge, msgctxt (default: 'msgctxt') 997s ========= SMOKE TEST: /usr/bin/symb2po =========== 997s 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] 997s 997s Convert Symbian localisation files to Gettext PO localization files. See: 997s http://docs.translatehouse.org/projects/translate- 997s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 997s 997s Options: 997s --version show program's version number and exit 997s -h, --help show this help message and exit 997s --manpage output a manpage based on the help 997s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 997s --errorlevel=ERRORLEVEL 997s show errorlevel as: none, message, exception, 997s traceback 997s -i INPUT, --input=INPUT 997s read from INPUT in r01 format 997s -x EXCLUDE, --exclude=EXCLUDE 997s exclude names matching EXCLUDE from input paths 997s -o OUTPUT, --output=OUTPUT 997s write to OUTPUT in po, pot formats 997s -t TEMPLATE, --template=TEMPLATE 997s read from TEMPLATE in 997s -S, --timestamp skip conversion if the output file has newer timestamp 997s -P, --pot output PO Templates (.pot) rather than PO files (.po) 997s --duplicates=DUPLICATESTYLE 997s what to do with duplicate strings (identical source 997s text): merge, msgctxt (default: 'msgctxt') 997s ========= SMOKE TEST: /usr/bin/tbx2po =========== 997s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 997s 997s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 997s http://docs.translatehouse.org/projects/translate- 997s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 997s 997s Options: 997s --version show program's version number and exit 997s -h, --help show this help message and exit 997s --manpage output a manpage based on the help 997s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 997s --errorlevel=ERRORLEVEL 997s show errorlevel as: none, message, exception, 997s traceback 997s -i INPUT, --input=INPUT 997s read from INPUT in tbx format 997s -x EXCLUDE, --exclude=EXCLUDE 997s exclude names matching EXCLUDE from input paths 997s -o OUTPUT, --output=OUTPUT 997s write to OUTPUT in po, pot formats 997s -S, --timestamp skip conversion if the output file has newer timestamp 997s ========= SMOKE TEST: /usr/bin/tiki2po =========== 997s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 997s 997s Convert TikiWiki's language.php files to Gettext PO localization files. See: 997s http://docs.translatehouse.org/projects/translate- 997s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 997s 997s Options: 997s --version show program's version number and exit 997s -h, --help show this help message and exit 997s --manpage output a manpage based on the help 997s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 997s --errorlevel=ERRORLEVEL 997s show errorlevel as: none, message, exception, 997s traceback 997s -i INPUT, --input=INPUT 997s read from INPUT in php format 997s -x EXCLUDE, --exclude=EXCLUDE 997s exclude names matching EXCLUDE from input paths 997s -o OUTPUT, --output=OUTPUT 997s write to OUTPUT in po, pot formats 997s -S, --timestamp skip conversion if the output file has newer timestamp 997s --include-unused Include strings in the unused section 997s ========= SMOKE TEST: /usr/bin/tmserver =========== 998s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 998s [-s SOURCE_LANG] [-b BIND] [-p PORT] 998s [--max-candidates MAX_CANDIDATES] 998s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 998s [--debug] 998s 998s options: 998s -h, --help show this help message and exit 998s -d TMDBFILE, --tmdb TMDBFILE 998s translation memory database file 998s -f TMFILES, --import-translation-file TMFILES 998s translation file to import into the database 998s -t TARGET_LANG, --import-target-lang TARGET_LANG 998s target language of translation files 998s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 998s source language of translation files 998s -b BIND, --bind BIND address to bind server to (default: localhost) 998s -p PORT, --port PORT port to listen on (default: 8888) 998s --max-candidates MAX_CANDIDATES 998s Maximum number of candidates 998s --min-similarity MIN_SIMILARITY 998s minimum similarity 998s --max-length MAX_LENGTH 998s Maxmimum string length 998s --debug enable debugging features 998s ========= SMOKE TEST: /usr/bin/ts2po =========== 998s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 998s 998s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 998s http://docs.translatehouse.org/projects/translate- 998s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 998s 998s Options: 998s --version show program's version number and exit 998s -h, --help show this help message and exit 998s --manpage output a manpage based on the help 998s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 998s --errorlevel=ERRORLEVEL 998s show errorlevel as: none, message, exception, 998s traceback 998s -i INPUT, --input=INPUT 998s read from INPUT in ts format 998s -x EXCLUDE, --exclude=EXCLUDE 998s exclude names matching EXCLUDE from input paths 998s -o OUTPUT, --output=OUTPUT 998s write to OUTPUT in po, pot formats 998s -S, --timestamp skip conversion if the output file has newer timestamp 998s -P, --pot output PO Templates (.pot) rather than PO files (.po) 998s --duplicates=DUPLICATESTYLE 998s what to do with duplicate strings (identical source 998s text): merge, msgctxt (default: 'msgctxt') 998s ========= SMOKE TEST: /usr/bin/txt2po =========== 998s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 998s 998s Convert plain text (.txt) files to Gettext PO localization files. See: 998s http://docs.translatehouse.org/projects/translate- 998s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 998s 998s Options: 998s --version show program's version number and exit 998s -h, --help show this help message and exit 998s --manpage output a manpage based on the help 998s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 998s --errorlevel=ERRORLEVEL 998s show errorlevel as: none, message, exception, 998s traceback 998s -i INPUT, --input=INPUT 998s read from INPUT in *, txt formats 998s -x EXCLUDE, --exclude=EXCLUDE 998s exclude names matching EXCLUDE from input paths 998s -o OUTPUT, --output=OUTPUT 998s write to OUTPUT in po, pot formats 998s -S, --timestamp skip conversion if the output file has newer timestamp 998s -P, --pot output PO Templates (.pot) rather than PO files (.po) 998s --encoding=ENCODING The encoding of the input file (default: UTF-8) 998s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 998s mediawiki 998s --no-segmentation Don't segment the file, treat it like a single message 998s --duplicates=DUPLICATESTYLE 998s what to do with duplicate strings (identical source 998s text): merge, msgctxt (default: 'msgctxt') 998s ========= SMOKE TEST: /usr/bin/web2py2po =========== 998s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 998s 998s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 998s http://docs.translatehouse.org/projects/translate- 998s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 998s 998s Options: 998s --version show program's version number and exit 998s -h, --help show this help message and exit 998s --manpage output a manpage based on the help 998s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 998s --errorlevel=ERRORLEVEL 998s show errorlevel as: none, message, exception, 998s traceback 998s -i INPUT, --input=INPUT 998s read from INPUT in py format 998s -x EXCLUDE, --exclude=EXCLUDE 998s exclude names matching EXCLUDE from input paths 998s -o OUTPUT, --output=OUTPUT 998s write to OUTPUT in po, pot formats 998s -S, --timestamp skip conversion if the output file has newer timestamp 998s -P, --pot output PO Templates (.pot) rather than PO files (.po) 998s --duplicates=DUPLICATESTYLE 998s what to do with duplicate strings (identical source 998s text): merge, msgctxt (default: 'msgctxt') 998s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 998s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 998s 998s Convert XLIFF translation files to OpenDocument (ODF) files. See: 998s http://docs.translatehouse.org/projects/translate- 998s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 998s 998s Options: 998s --version show program's version number and exit 998s -h, --help show this help message and exit 998s --manpage output a manpage based on the help 998s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 998s --errorlevel=ERRORLEVEL 998s show errorlevel as: none, message, exception, 998s traceback 998s -i INPUT, --input=INPUT 998s read from INPUT in xlf format 998s -x EXCLUDE, --exclude=EXCLUDE 998s exclude names matching EXCLUDE from input paths 998s -o OUTPUT, --output=OUTPUT 998s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 998s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 998s -t TEMPLATE, --template=TEMPLATE 998s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 998s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 998s formats 998s -S, --timestamp skip conversion if the output file has newer timestamp 998s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 998s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 998s 998s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 998s file. See: http://docs.translatehouse.org/projects/translate- 998s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 998s 998s Options: 998s --version show program's version number and exit 998s -h, --help show this help message and exit 998s --manpage output a manpage based on the help 998s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 998s --errorlevel=ERRORLEVEL 998s show errorlevel as: none, message, exception, 998s traceback 998s -i INPUT, --input=INPUT 998s read from INPUT in po, pot, xlf, xliff formats 998s -x EXCLUDE, --exclude=EXCLUDE 998s exclude names matching EXCLUDE from input paths 998s -o OUTPUT, --output=OUTPUT 998s write to OUTPUT in oo, sdf formats 998s -t TEMPLATE, --template=TEMPLATE 998s read from TEMPLATE in oo, sdf formats 998s -S, --timestamp skip conversion if the output file has newer timestamp 998s -l LANG, --language=LANG 998s set target language code (e.g. af-ZA) [required] 998s --source-language=LANG 998s set source language code (default en-US) 998s -T, --keeptimestamp don't change the timestamps of the strings 998s --nonrecursiveoutput don't treat the output oo as a recursive store 998s --nonrecursivetemplate 998s don't treat the template oo as a recursive store 998s --skipsource don't output the source language, but fallback to it 998s where needed 998s --filteraction=ACTION 998s action on pofilter failure: none (default), warn, 998s exclude-serious, exclude-all 998s --fuzzy use translations marked fuzzy 998s --nofuzzy don't use translations marked fuzzy (default) 998s --multifile=MULTIFILESTYLE 998s how to split po/pot files (single, toplevel or 998s onefile) 998s ========= SMOKE TEST: /usr/bin/xliff2po =========== 999s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 999s 999s Convert XLIFF localization files to Gettext PO localization files. See: 999s http://docs.translatehouse.org/projects/translate- 999s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 999s 999s Options: 999s --version show program's version number and exit 999s -h, --help show this help message and exit 999s --manpage output a manpage based on the help 999s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 999s --errorlevel=ERRORLEVEL 999s show errorlevel as: none, message, exception, 999s traceback 999s -i INPUT, --input=INPUT 999s read from INPUT in xlf, xliff formats 999s -x EXCLUDE, --exclude=EXCLUDE 999s exclude names matching EXCLUDE from input paths 999s -o OUTPUT, --output=OUTPUT 999s write to OUTPUT in po, pot formats 999s -S, --timestamp skip conversion if the output file has newer timestamp 999s -P, --pot output PO Templates (.pot) rather than PO files (.po) 999s --duplicates=DUPLICATESTYLE 999s what to do with duplicate strings (identical source 999s text): merge, msgctxt (default: 'msgctxt') 999s ========= SMOKE TEST: /usr/bin/yaml2po =========== 999s 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] 999s 999s Convert YAML files to Gettext PO localization files. See: 999s http://docs.translatehouse.org/projects/translate- 999s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 999s 999s Options: 999s --version show program's version number and exit 999s -h, --help show this help message and exit 999s --manpage output a manpage based on the help 999s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 999s --errorlevel=ERRORLEVEL 999s show errorlevel as: none, message, exception, 999s traceback 999s -i INPUT, --input=INPUT 999s read from INPUT in yaml, yml formats 999s -x EXCLUDE, --exclude=EXCLUDE 999s exclude names matching EXCLUDE from input paths 999s -o OUTPUT, --output=OUTPUT 999s write to OUTPUT in po, pot formats 999s -t TEMPLATE, --template=TEMPLATE 999s read from TEMPLATE in yaml, yml formats 999s -S, --timestamp skip conversion if the output file has newer timestamp 999s -P, --pot output PO Templates (.pot) rather than PO files (.po) 999s --duplicates=DUPLICATESTYLE 999s what to do with duplicate strings (identical source 999s text): merge, msgctxt (default: 'msgctxt') 999s autopkgtest [12:07:03]: test translate-toolkit: -----------------------] 999s autopkgtest [12:07:03]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 999s translate-toolkit PASS 999s autopkgtest [12:07:03]: test python3-translate: preparing testbed 1909s autopkgtest [12:22:13]: testbed dpkg architecture: amd64 1909s autopkgtest [12:22:13]: testbed apt version: 2.7.14build2 1909s autopkgtest [12:22:13]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1909s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [73.9 kB] 1909s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [1207 kB] 1909s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [1964 B] 1909s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [130 kB] 1909s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [17.7 kB] 1909s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [219 kB] 1909s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [174 kB] 1909s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [7700 B] 1909s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [1102 kB] 1909s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [542 kB] 1909s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [53.9 kB] 1909s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [19.4 kB] 1910s Fetched 3549 kB in 1s (6536 kB/s) 1910s Reading package lists... 1911s Reading package lists... 1912s Building dependency tree... 1912s Reading state information... 1912s Calculating upgrade... 1912s The following packages will be upgraded: 1912s pastebinit 1912s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1912s Need to get 14.9 kB of archives. 1912s After this operation, 8192 B of additional disk space will be used. 1912s Get:1 http://ftpmaster.internal/ubuntu oracular/main amd64 pastebinit all 1.7.0-1 [14.9 kB] 1913s Fetched 14.9 kB in 0s (947 kB/s) 1913s (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 ... 73897 files and directories currently installed.) 1913s Preparing to unpack .../pastebinit_1.7.0-1_all.deb ... 1913s Unpacking pastebinit (1.7.0-1) over (1.6.2-1) ... 1913s Setting up pastebinit (1.7.0-1) ... 1913s Processing triggers for man-db (2.12.0-4build2) ... 1914s Reading package lists... 1914s Building dependency tree... 1914s Reading state information... 1914s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1914s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 1914s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 1914s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 1914s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 1916s Reading package lists... 1916s Reading package lists... 1916s Building dependency tree... 1916s Reading state information... 1916s Calculating upgrade... 1916s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1916s Reading package lists... 1917s Building dependency tree... 1917s Reading state information... 1917s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1918s Reading package lists... 1919s Building dependency tree... 1919s Reading state information... 1919s Starting pkgProblemResolver with broken count: 0 1919s Starting 2 pkgProblemResolver with broken count: 0 1919s Done 1920s The following additional packages will be installed: 1920s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 1920s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 1920s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 1920s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 1920s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 1920s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 1920s python3-more-itertools python3-packaging python3-phply python3-pluggy 1920s python3-ply python3-pycountry python3-pytest python3-rapidfuzz 1920s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 1920s python3-soupsieve python3-syrupy python3-translate python3-vobject 1920s python3-xapian subversion 1920s Suggested packages: 1920s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 1920s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 1920s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 1920s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 1920s libapache2-mod-svn subversion-tools 1920s Recommended packages: 1920s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 1920s python3-cssselect python3-html5lib 1920s The following NEW packages will be installed: 1920s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 1920s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 1920s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 1920s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-cheroot 1920s python3-dateutil python3-diff-match-patch python3-enchant python3-iniconfig 1920s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 1920s python3-mistletoe python3-more-itertools python3-packaging python3-phply 1920s python3-pluggy python3-ply python3-pycountry python3-pytest 1920s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 1920s python3-simplejson python3-soupsieve python3-syrupy python3-translate 1920s python3-vobject python3-xapian subversion 1920s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 1920s Need to get 11.5 MB/11.5 MB of archives. 1920s After this operation, 52.9 MB of additional disk space will be used. 1920s Get:1 /tmp/autopkgtest.PMVZro/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [876 B] 1920s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 emacsen-common all 3.0.5 [12.1 kB] 1920s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 dictionaries-common all 1.29.7 [188 kB] 1920s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14-20240412-0ubuntu1 [147 kB] 1920s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB] 1920s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 1920s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libapr1t64 amd64 1.7.2-3.1build2 [107 kB] 1920s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libaprutil1t64 amd64 1.6.3-1.1ubuntu7 [91.9 kB] 1920s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libaspell15 amd64 0.60.8.1-1build1 [323 kB] 1920s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 1920s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 libenchant-2-2 amd64 2.3.3-2build2 [51.4 kB] 1920s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 libexttextcat-data all 3.4.7-1build1 [193 kB] 1920s Get:13 http://ftpmaster.internal/ubuntu oracular/universe amd64 libserf-1-1 amd64 1.3.10-2 [48.0 kB] 1920s Get:14 http://ftpmaster.internal/ubuntu oracular/universe amd64 libutf8proc3 amd64 2.9.0-1build1 [70.6 kB] 1920s Get:15 http://ftpmaster.internal/ubuntu oracular/universe amd64 libsvn1 amd64 1.14.3-1build4 [1345 kB] 1920s Get:16 http://ftpmaster.internal/ubuntu oracular/universe amd64 libxapian30 amd64 1.4.22-1build1 [716 kB] 1920s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libxslt1.1 amd64 1.1.39-0exp1build1 [167 kB] 1920s Get:18 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-aeidon all 1.11-2 [221 kB] 1920s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-all amd64 3.12.3-0ubuntu1 [888 B] 1920s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-soupsieve all 2.5-1 [33.0 kB] 1920s Get:21 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-bs4 all 4.12.3-1 [109 kB] 1920s Get:22 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-more-itertools all 10.2.0-1 [52.9 kB] 1920s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 1920s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 1920s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-dateutil all 2.8.2-3ubuntu1 [79.4 kB] 1920s Get:26 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] 1920s Get:27 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-enchant all 3.2.2-1 [34.0 kB] 1920s Get:28 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 1920s Get:29 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-rapidfuzz amd64 3.6.2+ds-1 [2021 kB] 1920s Get:30 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-levenshtein amd64 0.25.1-2 [120 kB] 1920s Get:31 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-lxml amd64 5.2.1-1 [1243 kB] 1920s Get:32 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-mistletoe all 1.3.0-1 [38.0 kB] 1920s Get:33 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-packaging all 24.0-1 [41.1 kB] 1920s Get:34 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-ply all 3.11-6 [46.5 kB] 1920s Get:35 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 1920s Get:36 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pluggy all 1.4.0-1 [20.4 kB] 1920s Get:37 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pytest all 7.4.4-1 [305 kB] 1920s Get:38 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml.clib amd64 0.2.8-1build1 [132 kB] 1920s Get:39 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 1920s Get:40 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-simplejson amd64 3.19.2-1build2 [54.5 kB] 1920s Get:41 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-syrupy all 4.6.1-1 [42.8 kB] 1920s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-translate all 3.12.2-1ubuntu1 [318 kB] 1920s Get:43 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-vobject all 0.9.6.1-2 [40.6 kB] 1920s Get:44 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 python3-xapian amd64 1.4.25-1 [439 kB] 1920s Get:45 http://ftpmaster.internal/ubuntu oracular/universe amd64 subversion amd64 1.14.3-1build4 [908 kB] 1920s Get:46 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniparse all 0.5-2 [20.0 kB] 1920s Get:47 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 1920s Preconfiguring packages ... 1921s Fetched 11.5 MB in 0s (39.5 MB/s) 1921s Selecting previously unselected package emacsen-common. 1921s (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 ... 73899 files and directories currently installed.) 1921s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 1921s Unpacking emacsen-common (3.0.5) ... 1921s Selecting previously unselected package dictionaries-common. 1921s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 1921s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 1921s Unpacking dictionaries-common (1.29.7) ... 1921s Selecting previously unselected package libgomp1:amd64. 1921s Preparing to unpack .../02-libgomp1_14-20240412-0ubuntu1_amd64.deb ... 1921s Unpacking libgomp1:amd64 (14-20240412-0ubuntu1) ... 1921s Selecting previously unselected package gettext. 1921s Preparing to unpack .../03-gettext_0.21-14ubuntu2_amd64.deb ... 1921s Unpacking gettext (0.21-14ubuntu2) ... 1921s Selecting previously unselected package hunspell-en-us. 1921s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 1921s Unpacking hunspell-en-us (1:2020.12.07-2) ... 1921s Selecting previously unselected package libapr1t64:amd64. 1921s Preparing to unpack .../05-libapr1t64_1.7.2-3.1build2_amd64.deb ... 1921s Unpacking libapr1t64:amd64 (1.7.2-3.1build2) ... 1921s Selecting previously unselected package libaprutil1t64:amd64. 1921s Preparing to unpack .../06-libaprutil1t64_1.6.3-1.1ubuntu7_amd64.deb ... 1921s Unpacking libaprutil1t64:amd64 (1.6.3-1.1ubuntu7) ... 1921s Selecting previously unselected package libaspell15:amd64. 1921s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_amd64.deb ... 1921s Unpacking libaspell15:amd64 (0.60.8.1-1build1) ... 1921s Selecting previously unselected package libhunspell-1.7-0:amd64. 1921s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 1921s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 1921s Selecting previously unselected package libenchant-2-2:amd64. 1921s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_amd64.deb ... 1921s Unpacking libenchant-2-2:amd64 (2.3.3-2build2) ... 1921s Selecting previously unselected package libexttextcat-data. 1921s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 1921s Unpacking libexttextcat-data (3.4.7-1build1) ... 1921s Selecting previously unselected package libserf-1-1:amd64. 1921s Preparing to unpack .../11-libserf-1-1_1.3.10-2_amd64.deb ... 1921s Unpacking libserf-1-1:amd64 (1.3.10-2) ... 1921s Selecting previously unselected package libutf8proc3:amd64. 1921s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_amd64.deb ... 1921s Unpacking libutf8proc3:amd64 (2.9.0-1build1) ... 1921s Selecting previously unselected package libsvn1:amd64. 1921s Preparing to unpack .../13-libsvn1_1.14.3-1build4_amd64.deb ... 1921s Unpacking libsvn1:amd64 (1.14.3-1build4) ... 1921s Selecting previously unselected package libxapian30:amd64. 1921s Preparing to unpack .../14-libxapian30_1.4.22-1build1_amd64.deb ... 1921s Unpacking libxapian30:amd64 (1.4.22-1build1) ... 1921s Selecting previously unselected package libxslt1.1:amd64. 1921s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_amd64.deb ... 1921s Unpacking libxslt1.1:amd64 (1.1.39-0exp1build1) ... 1921s Selecting previously unselected package python3-aeidon. 1921s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 1921s Unpacking python3-aeidon (1.11-2) ... 1921s Selecting previously unselected package python3-all. 1921s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_amd64.deb ... 1921s Unpacking python3-all (3.12.3-0ubuntu1) ... 1921s Selecting previously unselected package python3-soupsieve. 1921s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 1921s Unpacking python3-soupsieve (2.5-1) ... 1921s Selecting previously unselected package python3-bs4. 1921s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 1921s Unpacking python3-bs4 (4.12.3-1) ... 1921s Selecting previously unselected package python3-more-itertools. 1921s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 1921s Unpacking python3-more-itertools (10.2.0-1) ... 1921s Selecting previously unselected package python3-jaraco.functools. 1921s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 1921s Unpacking python3-jaraco.functools (4.0.0-1) ... 1921s Selecting previously unselected package python3-cheroot. 1921s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 1921s Unpacking python3-cheroot (10.0.0+ds1-2) ... 1921s Selecting previously unselected package python3-dateutil. 1921s Preparing to unpack .../23-python3-dateutil_2.8.2-3ubuntu1_all.deb ... 1921s Unpacking python3-dateutil (2.8.2-3ubuntu1) ... 1922s Selecting previously unselected package python3-diff-match-patch. 1922s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 1922s Unpacking python3-diff-match-patch (20230430-1) ... 1922s Selecting previously unselected package python3-enchant. 1922s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 1922s Unpacking python3-enchant (3.2.2-1) ... 1922s Selecting previously unselected package python3-iniconfig. 1922s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 1922s Unpacking python3-iniconfig (1.1.1-2) ... 1922s Selecting previously unselected package python3-rapidfuzz. 1922s Preparing to unpack .../27-python3-rapidfuzz_3.6.2+ds-1_amd64.deb ... 1922s Unpacking python3-rapidfuzz (3.6.2+ds-1) ... 1922s Selecting previously unselected package python3-levenshtein. 1922s Preparing to unpack .../28-python3-levenshtein_0.25.1-2_amd64.deb ... 1922s Unpacking python3-levenshtein (0.25.1-2) ... 1922s Selecting previously unselected package python3-lxml:amd64. 1922s Preparing to unpack .../29-python3-lxml_5.2.1-1_amd64.deb ... 1922s Unpacking python3-lxml:amd64 (5.2.1-1) ... 1922s Selecting previously unselected package python3-mistletoe. 1922s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 1922s Unpacking python3-mistletoe (1.3.0-1) ... 1922s Selecting previously unselected package python3-packaging. 1922s Preparing to unpack .../31-python3-packaging_24.0-1_all.deb ... 1922s Unpacking python3-packaging (24.0-1) ... 1922s Selecting previously unselected package python3-ply. 1922s Preparing to unpack .../32-python3-ply_3.11-6_all.deb ... 1922s Unpacking python3-ply (3.11-6) ... 1922s Selecting previously unselected package python3-phply. 1922s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 1922s Unpacking python3-phply (1.2.6-1) ... 1922s Selecting previously unselected package python3-pluggy. 1922s Preparing to unpack .../34-python3-pluggy_1.4.0-1_all.deb ... 1922s Unpacking python3-pluggy (1.4.0-1) ... 1922s Selecting previously unselected package python3-pytest. 1922s Preparing to unpack .../35-python3-pytest_7.4.4-1_all.deb ... 1922s Unpacking python3-pytest (7.4.4-1) ... 1922s Selecting previously unselected package python3-ruamel.yaml.clib:amd64. 1922s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8-1build1_amd64.deb ... 1922s Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 1922s Selecting previously unselected package python3-ruamel.yaml. 1922s Preparing to unpack .../37-python3-ruamel.yaml_0.17.21-1_all.deb ... 1922s Unpacking python3-ruamel.yaml (0.17.21-1) ... 1922s Selecting previously unselected package python3-simplejson. 1922s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_amd64.deb ... 1922s Unpacking python3-simplejson (3.19.2-1build2) ... 1922s Selecting previously unselected package python3-syrupy. 1922s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 1922s Unpacking python3-syrupy (4.6.1-1) ... 1922s Selecting previously unselected package python3-translate. 1922s Preparing to unpack .../40-python3-translate_3.12.2-1ubuntu1_all.deb ... 1922s Unpacking python3-translate (3.12.2-1ubuntu1) ... 1922s Selecting previously unselected package python3-vobject. 1922s Preparing to unpack .../41-python3-vobject_0.9.6.1-2_all.deb ... 1922s Unpacking python3-vobject (0.9.6.1-2) ... 1922s Selecting previously unselected package python3-xapian. 1922s Preparing to unpack .../42-python3-xapian_1.4.25-1_amd64.deb ... 1922s Unpacking python3-xapian (1.4.25-1) ... 1922s Selecting previously unselected package subversion. 1922s Preparing to unpack .../43-subversion_1.14.3-1build4_amd64.deb ... 1922s Unpacking subversion (1.14.3-1build4) ... 1922s Selecting previously unselected package python3-iniparse. 1922s Preparing to unpack .../44-python3-iniparse_0.5-2_all.deb ... 1922s Unpacking python3-iniparse (0.5-2) ... 1922s Selecting previously unselected package python3-pycountry. 1922s Preparing to unpack .../45-python3-pycountry_23.12.11+ds1-2_all.deb ... 1922s Unpacking python3-pycountry (23.12.11+ds1-2) ... 1923s Selecting previously unselected package autopkgtest-satdep. 1923s Preparing to unpack .../46-2-autopkgtest-satdep.deb ... 1923s Unpacking autopkgtest-satdep (0) ... 1923s Setting up python3-more-itertools (10.2.0-1) ... 1923s Setting up python3-iniconfig (1.1.1-2) ... 1923s Setting up libxapian30:amd64 (1.4.22-1build1) ... 1923s Setting up python3-rapidfuzz (3.6.2+ds-1) ... 1923s Setting up python3-diff-match-patch (20230430-1) ... 1923s Setting up python3-jaraco.functools (4.0.0-1) ... 1923s Setting up python3-aeidon (1.11-2) ... 1924s Setting up libutf8proc3:amd64 (2.9.0-1build1) ... 1924s Setting up libaspell15:amd64 (0.60.8.1-1build1) ... 1924s Setting up python3-ply (3.11-6) ... 1924s Setting up python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 1924s Setting up python3-all (3.12.3-0ubuntu1) ... 1924s Setting up libgomp1:amd64 (14-20240412-0ubuntu1) ... 1924s Setting up python3-simplejson (3.19.2-1build2) ... 1924s Setting up python3-packaging (24.0-1) ... 1924s Setting up emacsen-common (3.0.5) ... 1924s Setting up python3-cheroot (10.0.0+ds1-2) ... 1924s Setting up python3-pycountry (23.12.11+ds1-2) ... 1924s Setting up python3-xapian (1.4.25-1) ... 1925s Setting up python3-pluggy (1.4.0-1) ... 1925s Setting up python3-ruamel.yaml (0.17.21-1) ... 1925s Setting up python3-mistletoe (1.3.0-1) ... 1925s Setting up libexttextcat-data (3.4.7-1build1) ... 1925s Setting up libapr1t64:amd64 (1.7.2-3.1build2) ... 1925s Setting up libxslt1.1:amd64 (1.1.39-0exp1build1) ... 1925s Setting up python3-dateutil (2.8.2-3ubuntu1) ... 1925s Setting up python3-levenshtein (0.25.1-2) ... 1925s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 1925s Setting up python3-soupsieve (2.5-1) ... 1926s Setting up python3-iniparse (0.5-2) ... 1926s Setting up libaprutil1t64:amd64 (1.6.3-1.1ubuntu7) ... 1926s Setting up python3-vobject (0.9.6.1-2) ... 1926s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 1926s patterns['name'] = '[a-zA-Z0-9\-_]+' 1926s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 1926s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 1926s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 1926s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 1926s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 1926s """ 1926s Setting up gettext (0.21-14ubuntu2) ... 1926s Setting up python3-phply (1.2.6-1) ... 1926s Setting up dictionaries-common (1.29.7) ... 1926s Setting up python3-pytest (7.4.4-1) ... 1927s Setting up python3-syrupy (4.6.1-1) ... 1927s Setting up libserf-1-1:amd64 (1.3.10-2) ... 1927s Setting up python3-bs4 (4.12.3-1) ... 1927s Setting up python3-lxml:amd64 (5.2.1-1) ... 1927s Setting up hunspell-en-us (1:2020.12.07-2) ... 1927s Setting up libsvn1:amd64 (1.14.3-1build4) ... 1927s Setting up libenchant-2-2:amd64 (2.3.3-2build2) ... 1927s Setting up subversion (1.14.3-1build4) ... 1927s Setting up python3-enchant (3.2.2-1) ... 1928s Setting up python3-translate (3.12.2-1ubuntu1) ... 1928s Setting up autopkgtest-satdep (0) ... 1928s Processing triggers for man-db (2.12.0-4build2) ... 1929s Processing triggers for install-info (7.1-3build2) ... 1929s Processing triggers for libc-bin (2.39-0ubuntu8) ... 1929s Processing triggers for dictionaries-common (1.29.7) ... 1932s (Reading database ... 77360 files and directories currently installed.) 1932s Removing autopkgtest-satdep (0) ... 1933s autopkgtest [12:22:37]: test python3-translate: [----------------------- 1934s ============================= test session starts ============================== 1934s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 1934s cachedir: .pytest_cache 1934s rootdir: /tmp/autopkgtest.PMVZro/autopkgtest_tmp 1934s plugins: syrupy-4.6.1 1940s collecting ... collected 3313 items / 2 skipped 1940s 1940s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1940s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1940s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1940s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1940s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1940s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1940s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1940s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1940s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1940s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1940s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1940s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1940s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1940s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 1940s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1940s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1940s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1940s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1940s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1940s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1940s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1940s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1940s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1940s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1940s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1940s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1940s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1940s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1940s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1940s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1940s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1940s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1940s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 1940s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1941s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1941s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 1941s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1941s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1941s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 1941s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 1941s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1941s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 1941s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1941s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1941s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1941s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1941s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1941s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1941s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 1941s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1941s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1941s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1941s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1942s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1942s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 1942s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 1942s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 1942s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1942s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 1942s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1942s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 1942s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 1942s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 1942s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 1942s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 1942s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1942s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1942s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1942s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1942s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1942s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1942s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1942s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1942s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1943s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1943s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 1943s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 1943s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 1943s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1943s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1943s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 1943s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1943s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1943s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 1943s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 1943s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 1943s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 1943s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1943s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 1943s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1943s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1943s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1943s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 1943s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1943s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1943s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1943s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 1943s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1943s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1943s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1943s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1943s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1943s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1943s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1943s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1944s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1944s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1944s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1944s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1944s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1944s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1944s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1944s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1944s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1944s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1944s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 1944s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 1944s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 1944s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 1944s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 1944s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 1944s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1944s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1944s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1944s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1944s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1944s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1944s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 1944s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 1944s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 1944s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 1944s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 1944s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 1944s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 1944s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 1944s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 1944s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 1944s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 1944s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 1944s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1944s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1944s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1944s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1944s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1944s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1944s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1944s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1944s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1944s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 1944s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1944s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1944s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1944s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1944s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1944s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1944s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1944s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1944s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1945s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 1945s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 1945s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 1945s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 1945s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 1945s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 1945s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 1945s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 1945s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 1945s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 1945s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 1945s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 1945s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 1945s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 1945s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 1945s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 1945s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 1945s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 1945s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 1945s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 1945s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 1945s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 1945s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 1945s 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%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 1945s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 1945s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 1945s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 1945s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 1945s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 1945s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 1945s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 1946s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 1946s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 1946s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 1946s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 1946s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 1946s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 1947s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 1947s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 1947s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 1947s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 1947s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 1947s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 1947s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 1947s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 1947s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 1947s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 1947s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 1947s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 1947s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 1947s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 1947s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 1947s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 1947s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 1948s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 1948s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 1948s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 1948s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 1948s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 1948s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 1948s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 1948s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 1948s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 1948s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 1948s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 1948s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 1948s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 1948s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 1948s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 1948s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 1948s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 1948s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 1948s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 1948s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 1948s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 1948s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 1949s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 1949s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 1949s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 1949s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 1949s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 1949s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 1949s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 1949s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 1949s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 1949s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 1949s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 1949s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 1949s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 1949s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 1949s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1949s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1949s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 1949s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 1949s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 1949s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 1949s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 1949s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 1949s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1949s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1949s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1949s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1949s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1949s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1949s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1949s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1949s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1950s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1950s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1950s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1950s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1950s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1950s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1950s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1950s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1950s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1950s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1950s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1950s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1950s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1950s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1950s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 1950s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 1950s 1950s =============================== warnings summary =============================== 1950s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1950s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.PMVZro/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1950s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1950s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1950s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1950s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1950s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1950s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1950s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1950s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1950s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1950s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1950s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1950s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1950s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1950s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1950s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1950s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1950s Warning: Could not find accesskey for key.accesskey 1950s 1950s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1950s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1950s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1950s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1950s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1950s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.PMVZro/autopkgtest_tmp/tests/translate/convert/test.idml'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1950s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1950s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1950s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1950s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1950s Warning: Could not find accesskey for prop.accesskey 1950s 1950s tests/translate/convert/test_po2tmx.py: 26 warnings 1950s tests/translate/filters/test_pofilter.py: 13 warnings 1950s tests/translate/storage/test_tbx.py: 17 warnings 1950s tests/translate/storage/test_tmx.py: 24 warnings 1950s 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' 1950s 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1950s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1950s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1950s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1950s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1950s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1950s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1950s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1950s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1950s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1950s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1950s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.PMVZro/autopkgtest_tmp/tests/translate/convert/test.odt'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1950s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1950s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1950s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1950s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1950s Enable tracemalloc to get traceback where the object was allocated. 1950s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1950s 1950s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1950s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1950s 1950s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1950s Warning: DTD file '' does not validate 1950s 1950s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1950s --------------------------- snapshot report summary ---------------------------- 1950s 23 snapshots passed. 1950s =========================== short test summary info ============================ 1950s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1950s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1950s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1950s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 1950s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 1950s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 1950s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 1950s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1950s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1950s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1950s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1950s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1950s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1950s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1950s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1950s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1950s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1950s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1950s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1950s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1950s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1950s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1950s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1950s 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. 1950s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1950s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1950s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1950s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1950s 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 1950s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1950s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1950s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1950s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1950s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1950s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1950s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1950s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1950s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1950s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1950s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1950s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1950s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1950s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1950s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1950s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1950s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1950s ========= 3254 passed, 22 skipped, 39 xfailed, 126 warnings in 16.64s ========== 1951s autopkgtest [12:22:55]: test python3-translate: -----------------------] 1951s autopkgtest [12:22:55]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 1951s python3-translate PASS 1951s autopkgtest [12:22:55]: test python3-translate-commands: preparing testbed 1952s Reading package lists... 1952s Building dependency tree... 1952s Reading state information... 1953s Starting pkgProblemResolver with broken count: 0 1953s Starting 2 pkgProblemResolver with broken count: 0 1953s Done 1953s The following additional packages will be installed: 1953s translate-toolkit 1953s Recommended packages: 1953s translate-toolkit-doc 1953s The following NEW packages will be installed: 1953s autopkgtest-satdep translate-toolkit 1954s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 1954s Need to get 88.2 kB/89.1 kB of archives. 1954s After this operation, 253 kB of additional disk space will be used. 1954s Get:1 /tmp/autopkgtest.PMVZro/3-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [884 B] 1954s Get:2 http://ftpmaster.internal/ubuntu oracular/universe amd64 translate-toolkit all 3.12.2-1ubuntu1 [88.2 kB] 1954s Fetched 88.2 kB in 0s (2404 kB/s) 1954s Selecting previously unselected package translate-toolkit. 1954s (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 ... 77360 files and directories currently installed.) 1954s Preparing to unpack .../translate-toolkit_3.12.2-1ubuntu1_all.deb ... 1954s Unpacking translate-toolkit (3.12.2-1ubuntu1) ... 1954s Selecting previously unselected package autopkgtest-satdep. 1954s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1954s Unpacking autopkgtest-satdep (0) ... 1954s Setting up translate-toolkit (3.12.2-1ubuntu1) ... 1954s Setting up autopkgtest-satdep (0) ... 1954s Processing triggers for man-db (2.12.0-4build2) ... 1957s (Reading database ... 77533 files and directories currently installed.) 1957s Removing autopkgtest-satdep (0) ... 1957s autopkgtest [12:23:01]: test python3-translate-commands: [----------------------- 1958s ============================= test session starts ============================== 1958s platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 1958s cachedir: .pytest_cache 1958s rootdir: /tmp/autopkgtest.PMVZro/autopkgtest_tmp 1958s plugins: syrupy-4.6.1 1963s collecting ... collected 3313 items / 2 skipped 1963s 1963s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1963s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1963s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1963s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1963s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1963s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1963s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1963s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1963s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1963s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1963s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1963s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1963s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1963s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1963s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1963s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1963s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 1964s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1964s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1964s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1964s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1964s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1964s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1964s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1964s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1964s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1964s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1964s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1964s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1964s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1964s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1964s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1964s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1964s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1964s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1964s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1964s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1964s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 1964s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1964s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1964s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 1964s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 1964s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1965s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 1965s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1965s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1965s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1965s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1965s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1965s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1965s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 1965s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1965s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1965s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1965s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1965s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1966s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1966s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1966s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1966s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1966s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 1966s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 1966s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 1966s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1966s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 1966s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1966s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 1966s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 1966s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 1966s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 1966s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 1966s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1966s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1966s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1966s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1966s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1966s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1966s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1966s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1966s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1966s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1966s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 1966s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 1966s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 1966s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1966s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1966s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 1966s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1966s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1966s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 1966s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 1966s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 1966s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 1966s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1966s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1967s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1967s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 1967s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1967s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1967s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1967s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 1967s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1967s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1967s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1967s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 1967s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1967s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1967s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1967s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1967s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1967s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1967s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1967s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1967s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1967s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1967s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1967s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1967s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1967s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1967s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1967s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1967s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1967s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 1967s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 1967s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 1967s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 1967s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 1967s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 1967s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1967s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1967s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1967s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1967s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1967s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1967s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 1967s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 1967s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 1967s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 1967s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 1967s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 1967s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 1967s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 1967s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 1967s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 1967s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 1967s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 1967s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1967s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1967s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1967s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1967s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1967s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1967s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1967s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1967s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1967s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 1967s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1967s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1967s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1967s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1967s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1967s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1967s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1967s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1967s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1968s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 1968s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 1968s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 1968s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 1968s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 1968s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 1968s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 1968s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 1968s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 1968s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 1968s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 1968s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 1968s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 1968s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 1968s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 1968s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 1968s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 1968s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 1968s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 1968s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 1968s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 1969s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 1969s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 1969s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 1969s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 1969s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 1969s 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%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 1969s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 1969s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 1969s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 1969s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 1969s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 1969s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 1969s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 1969s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 1969s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 1969s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 1969s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 1969s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 1970s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 1971s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 1971s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 1971s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 1971s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 1971s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 1971s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 1971s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 1971s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 1971s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 1971s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 1971s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 1971s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 1971s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 1971s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 1971s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 1971s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 1971s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 1971s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 1972s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 1972s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 1972s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 1972s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 1972s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 1972s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 1972s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 1972s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 1972s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 1972s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 1972s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 1972s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 1972s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 1972s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 1972s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 1972s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 1972s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 1972s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 1972s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 1972s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 1972s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 1973s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 1973s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 1973s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 1973s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 1973s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 1973s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 1973s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 1973s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 1973s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 1973s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 1973s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 1973s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 1973s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 1973s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 1973s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1973s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1973s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 1973s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 1973s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 1973s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 1973s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 1974s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 1974s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 1974s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 1974s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 1974s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1974s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1974s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1974s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1974s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1974s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1974s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1974s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1974s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1974s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1975s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1975s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1975s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1975s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1975s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1975s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1975s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1975s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1975s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1975s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1975s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1975s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1975s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1975s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1975s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1975s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 1975s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 1975s 1975s =============================== warnings summary =============================== 1975s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1975s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.PMVZro/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1975s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1975s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1975s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1975s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1975s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1975s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1975s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1975s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1975s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1975s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1975s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1975s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1975s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1975s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1975s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1975s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1975s Warning: Could not find accesskey for key.accesskey 1975s 1975s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1975s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1975s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1975s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1975s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1975s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.PMVZro/autopkgtest_tmp/tests/translate/convert/test.idml'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1975s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1975s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1975s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1975s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1975s Warning: Could not find accesskey for prop.accesskey 1975s 1975s tests/translate/convert/test_po2tmx.py: 26 warnings 1975s tests/translate/filters/test_pofilter.py: 13 warnings 1975s tests/translate/storage/test_tbx.py: 17 warnings 1975s tests/translate/storage/test_tmx.py: 24 warnings 1975s 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' 1975s 1975s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1975s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1975s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1975s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1975s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1975s Enable tracemalloc to get traceback where the object was allocated. 1975s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1975s 1976s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1976s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1976s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1976s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1976s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1976s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1976s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1976s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1976s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1976s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.PMVZro/autopkgtest_tmp/tests/translate/convert/test.odt'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1976s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1976s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1976s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1976s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1976s Enable tracemalloc to get traceback where the object was allocated. 1976s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1976s 1976s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1976s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1976s 1976s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1976s Warning: DTD file '' does not validate 1976s 1976s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1976s --------------------------- snapshot report summary ---------------------------- 1976s 23 snapshots passed. 1976s =========================== short test summary info ============================ 1976s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1976s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1976s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1976s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1976s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1976s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1976s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1976s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1976s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1976s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1976s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1976s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1976s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1976s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1976s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1976s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1976s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1976s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1976s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1976s 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. 1976s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1976s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1976s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1976s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1976s 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 1976s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1976s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1976s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1976s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1976s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1976s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1976s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1976s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1976s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1976s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1976s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1976s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1976s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1976s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1976s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1976s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1976s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1976s ========== 3273 passed, 3 skipped, 39 xfailed, 126 warnings in 18.02s ========== 1976s autopkgtest [12:23:20]: test python3-translate-commands: -----------------------] 1977s python3-translate-commands PASS 1977s autopkgtest [12:23:21]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 1977s autopkgtest [12:23:21]: @@@@@@@@@@@@@@@@@@@@ summary 1977s translate-toolkit PASS 1977s python3-translate PASS 1977s python3-translate-commands PASS 1992s Creating nova instance adt-oracular-amd64-translate-toolkit-20240514-115024-juju-7f2275-prod-proposed-migration-environment-3-f418d34b-6d77-4743-af53-308a787b7ea9 from image adt/ubuntu-oracular-amd64-server-20240513.img (UUID 3680964e-3e6d-4e07-b76c-c2eef9987d4d)... 1992s Creating nova instance adt-oracular-amd64-translate-toolkit-20240514-115024-juju-7f2275-prod-proposed-migration-environment-3-f418d34b-6d77-4743-af53-308a787b7ea9 from image adt/ubuntu-oracular-amd64-server-20240513.img (UUID 3680964e-3e6d-4e07-b76c-c2eef9987d4d)...