4s autopkgtest [22:45:48]: starting date and time: 2024-07-13 22:45:48+0000 4s autopkgtest [22:45:48]: git checkout: fd3bed09 nova: allow more retries for quota issues 4s autopkgtest [22:45:48]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.vh68etg5/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:setuptools --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/70.3.0-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-40.secgroup --name adt-oracular-arm64-translate-toolkit-20240713-224526-juju-7f2275-prod-proposed-migration-environment-2-bacaec7a-038b-4d71-ba4a-897bba1221f7 --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 94s autopkgtest [22:47:18]: testbed dpkg architecture: arm64 95s autopkgtest [22:47:19]: testbed apt version: 2.9.6 95s autopkgtest [22:47:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 96s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 97s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 97s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 97s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 97s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 97s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [108 kB] 97s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 97s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 97s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 97s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [458 kB] 97s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 97s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7908 B] 97s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 99s Fetched 1216 kB in 2s (493 kB/s) 99s Reading package lists... 102s Reading package lists... 102s Building dependency tree... 102s Reading state information... 103s Calculating upgrade... 103s The following packages will be upgraded: 103s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 103s ubuntu-pro-client-l10n 103s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 103s Need to get 756 kB of archives. 103s After this operation, 180 kB of additional disk space will be used. 103s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 104s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 104s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 104s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 104s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 104s Fetched 756 kB in 1s (1287 kB/s) 105s (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 ... 78392 files and directories currently installed.) 105s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 105s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 105s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 105s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 105s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 105s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 105s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 105s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 105s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 105s Unpacking ubuntu-pro-client (33.1) over (33) ... 105s Setting up python3-pkg-resources (70.3.0-2) ... 105s Setting up libelf1t64:arm64 (0.191-2) ... 105s Setting up libdw1t64:arm64 (0.191-2) ... 105s Setting up ubuntu-pro-client (33.1) ... 107s Setting up ubuntu-pro-client-l10n (33.1) ... 107s Processing triggers for man-db (2.12.1-2) ... 108s Processing triggers for libc-bin (2.39-0ubuntu9) ... 108s Reading package lists... 109s Building dependency tree... 109s Reading state information... 109s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 111s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 111s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 111s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 111s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 113s Reading package lists... 113s Reading package lists... 113s Building dependency tree... 113s Reading state information... 114s Calculating upgrade... 114s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 114s Reading package lists... 115s Building dependency tree... 115s Reading state information... 115s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 115s autopkgtest [22:47:39]: rebooting testbed after setup commands that affected boot 119s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 152s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 161s autopkgtest [22:48:25]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 164s autopkgtest [22:48:28]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 170s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (dsc) [3098 B] 170s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (tar) [1173 kB] 170s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (diff) [24.4 kB] 170s gpgv: Signature made Thu Jun 27 09:16:24 2024 UTC 170s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 170s gpgv: Can't check signature: No public key 170s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.1-1.dsc: no acceptable signature found 170s autopkgtest [22:48:34]: testing package translate-toolkit version 3.13.1-1 171s autopkgtest [22:48:35]: build not needed 171s autopkgtest [22:48:35]: test translate-toolkit: preparing testbed 172s Reading package lists... 173s Building dependency tree... 173s Reading state information... 173s Starting pkgProblemResolver with broken count: 0 173s Starting 2 pkgProblemResolver with broken count: 0 173s Done 174s The following additional packages will be installed: 174s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 174s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 174s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 174s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 174s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 174s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 174s python3-more-itertools python3-phply python3-ply python3-pycountry 174s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 174s python3-simplejson python3-soupsieve python3-translate python3-vobject 174s python3-xapian subversion translate-toolkit 174s Suggested packages: 174s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 174s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 174s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 174s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 174s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 174s subversion-tools 174s Recommended packages: 174s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 174s python3-cssselect python3-html5lib translate-toolkit-doc 174s The following NEW packages will be installed: 174s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 174s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 174s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 174s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 174s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 174s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 174s python3-mistletoe python3-more-itertools python3-phply python3-ply 174s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 174s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 174s python3-translate python3-vobject python3-xapian subversion 174s translate-toolkit 174s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 174s Need to get 10.0 MB/10.0 MB of archives. 174s After this operation, 46.5 MB of additional disk space will be used. 174s Get:1 /tmp/autopkgtest.RMYmVR/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [880 B] 174s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 174s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 174s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14.1.0-1ubuntu1 [144 kB] 174s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.22.5-1 [925 kB] 174s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 175s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.2 [105 kB] 175s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-2ubuntu1 [94.1 kB] 175s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 175s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 175s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 175s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 175s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 175s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 175s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-2 [1336 kB] 175s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 175s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 175s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.15-1 [231 kB] 175s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 175s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 175s Get:21 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 175s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.3.0-1 [54.9 kB] 175s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 175s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 175s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 175s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 175s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 175s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.6.2+ds-3 [990 kB] 175s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 175s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.2-1 [1176 kB] 175s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 175s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 175s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 175s Get:34 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1build1 [126 kB] 175s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 175s Get:36 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 175s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.13.1-1 [319 kB] 175s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 175s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-xapian arm64 1.4.22-1build5 [355 kB] 175s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-2 [906 kB] 175s Get:41 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.13.1-1 [81.2 kB] 175s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 175s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 176s Preconfiguring packages ... 176s Fetched 10.0 MB in 1s (6959 kB/s) 176s Selecting previously unselected package emacsen-common. 176s (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 ... 78404 files and directories currently installed.) 176s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 176s Unpacking emacsen-common (3.0.5) ... 176s Selecting previously unselected package dictionaries-common. 177s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 177s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 177s Unpacking dictionaries-common (1.29.7) ... 177s Selecting previously unselected package libgomp1:arm64. 177s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_arm64.deb ... 177s Unpacking libgomp1:arm64 (14.1.0-1ubuntu1) ... 177s Selecting previously unselected package gettext. 177s Preparing to unpack .../03-gettext_0.22.5-1_arm64.deb ... 177s Unpacking gettext (0.22.5-1) ... 177s Selecting previously unselected package hunspell-en-us. 177s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 177s Unpacking hunspell-en-us (1:2020.12.07-2) ... 177s Selecting previously unselected package libapr1t64:arm64. 177s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_arm64.deb ... 177s Unpacking libapr1t64:arm64 (1.7.2-3.2) ... 177s Selecting previously unselected package libaprutil1t64:arm64. 177s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_arm64.deb ... 177s Unpacking libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 177s Selecting previously unselected package libaspell15:arm64. 177s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 177s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 177s Selecting previously unselected package libhunspell-1.7-0:arm64. 177s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 177s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 177s Selecting previously unselected package libenchant-2-2:arm64. 177s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 177s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 177s Selecting previously unselected package libexttextcat-data. 177s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 177s Unpacking libexttextcat-data (3.4.7-1build1) ... 177s Selecting previously unselected package libserf-1-1:arm64. 177s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 177s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 177s Selecting previously unselected package libutf8proc3:arm64. 177s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 177s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 177s Selecting previously unselected package libsvn1:arm64. 177s Preparing to unpack .../13-libsvn1_1.14.3-2_arm64.deb ... 177s Unpacking libsvn1:arm64 (1.14.3-2) ... 177s Selecting previously unselected package libxapian30:arm64. 177s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 177s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 177s Selecting previously unselected package libxslt1.1:arm64. 177s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 177s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 177s Selecting previously unselected package python3-aeidon. 177s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 177s Unpacking python3-aeidon (1.15-1) ... 177s Selecting previously unselected package python3-soupsieve. 177s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 177s Unpacking python3-soupsieve (2.5-1) ... 177s Selecting previously unselected package python3-bs4. 177s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 177s Unpacking python3-bs4 (4.12.3-1) ... 177s Selecting previously unselected package python3-charset-normalizer. 178s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 178s Unpacking python3-charset-normalizer (3.3.2-1) ... 178s Selecting previously unselected package python3-more-itertools. 178s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 178s Unpacking python3-more-itertools (10.3.0-1) ... 178s Selecting previously unselected package python3-jaraco.functools. 178s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 178s Unpacking python3-jaraco.functools (4.0.0-1) ... 178s Selecting previously unselected package python3-cheroot. 178s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 178s Unpacking python3-cheroot (10.0.0+ds1-2) ... 178s Selecting previously unselected package python3-dateutil. 178s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 178s Unpacking python3-dateutil (2.9.0-2) ... 178s Selecting previously unselected package python3-diff-match-patch. 178s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 178s Unpacking python3-diff-match-patch (20230430-1) ... 178s Selecting previously unselected package python3-enchant. 178s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 178s Unpacking python3-enchant (3.2.2-1) ... 178s Selecting previously unselected package python3-rapidfuzz. 178s Preparing to unpack .../26-python3-rapidfuzz_3.6.2+ds-3_arm64.deb ... 178s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 178s Selecting previously unselected package python3-levenshtein. 178s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_arm64.deb ... 178s Unpacking python3-levenshtein (0.25.1-3) ... 178s Selecting previously unselected package python3-lxml:arm64. 178s Preparing to unpack .../28-python3-lxml_5.2.2-1_arm64.deb ... 178s Unpacking python3-lxml:arm64 (5.2.2-1) ... 178s Selecting previously unselected package python3-mistletoe. 178s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 178s Unpacking python3-mistletoe (1.3.0-1) ... 178s Selecting previously unselected package python3-ply. 178s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 178s Unpacking python3-ply (3.11-6) ... 178s Selecting previously unselected package python3-phply. 178s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 178s Unpacking python3-phply (1.2.6-1) ... 178s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 179s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_arm64.deb ... 179s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 179s Selecting previously unselected package python3-ruamel.yaml. 179s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 179s Unpacking python3-ruamel.yaml (0.17.21-1) ... 179s Selecting previously unselected package python3-simplejson. 179s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_arm64.deb ... 179s Unpacking python3-simplejson (3.19.2-1build2) ... 179s Selecting previously unselected package python3-translate. 179s Preparing to unpack .../35-python3-translate_3.13.1-1_all.deb ... 179s Unpacking python3-translate (3.13.1-1) ... 179s Selecting previously unselected package python3-vobject. 179s Preparing to unpack .../36-python3-vobject_0.9.6.1-2_all.deb ... 179s Unpacking python3-vobject (0.9.6.1-2) ... 179s Selecting previously unselected package python3-xapian. 179s Preparing to unpack .../37-python3-xapian_1.4.22-1build5_arm64.deb ... 179s Unpacking python3-xapian (1.4.22-1build5) ... 179s Selecting previously unselected package subversion. 179s Preparing to unpack .../38-subversion_1.14.3-2_arm64.deb ... 179s Unpacking subversion (1.14.3-2) ... 179s Selecting previously unselected package translate-toolkit. 179s Preparing to unpack .../39-translate-toolkit_3.13.1-1_all.deb ... 179s Unpacking translate-toolkit (3.13.1-1) ... 179s Selecting previously unselected package python3-iniparse. 179s Preparing to unpack .../40-python3-iniparse_0.5-2_all.deb ... 179s Unpacking python3-iniparse (0.5-2) ... 179s Selecting previously unselected package python3-pycountry. 179s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 179s Unpacking python3-pycountry (24.6.1+ds1-1) ... 179s Selecting previously unselected package autopkgtest-satdep. 179s Preparing to unpack .../42-1-autopkgtest-satdep.deb ... 179s Unpacking autopkgtest-satdep (0) ... 179s Setting up python3-more-itertools (10.3.0-1) ... 179s Setting up libxapian30:arm64 (1.4.22-1build1) ... 179s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 180s Setting up python3-diff-match-patch (20230430-1) ... 180s Setting up python3-jaraco.functools (4.0.0-1) ... 180s Setting up python3-aeidon (1.15-1) ... 180s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 180s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 180s Setting up python3-charset-normalizer (3.3.2-1) ... 180s Setting up python3-ply (3.11-6) ... 180s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 180s Setting up libgomp1:arm64 (14.1.0-1ubuntu1) ... 180s Setting up python3-simplejson (3.19.2-1build2) ... 181s Setting up emacsen-common (3.0.5) ... 181s Setting up python3-cheroot (10.0.0+ds1-2) ... 181s Setting up python3-pycountry (24.6.1+ds1-1) ... 181s Setting up python3-xapian (1.4.22-1build5) ... 181s Setting up python3-ruamel.yaml (0.17.21-1) ... 181s Setting up python3-mistletoe (1.3.0-1) ... 182s Setting up libexttextcat-data (3.4.7-1build1) ... 182s Setting up libapr1t64:arm64 (1.7.2-3.2) ... 182s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 182s Setting up python3-dateutil (2.9.0-2) ... 182s Setting up python3-levenshtein (0.25.1-3) ... 182s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 182s Setting up python3-soupsieve (2.5-1) ... 182s Setting up python3-iniparse (0.5-2) ... 182s Setting up libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 182s Setting up python3-vobject (0.9.6.1-2) ... 182s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 182s patterns['name'] = '[a-zA-Z0-9\-_]+' 182s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 182s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 182s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 182s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 182s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 182s """ 182s Setting up gettext (0.22.5-1) ... 182s Setting up python3-phply (1.2.6-1) ... 183s Setting up dictionaries-common (1.29.7) ... 183s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 183s Setting up python3-bs4 (4.12.3-1) ... 183s Setting up python3-lxml:arm64 (5.2.2-1) ... 183s Setting up hunspell-en-us (1:2020.12.07-2) ... 183s Setting up libsvn1:arm64 (1.14.3-2) ... 183s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 184s Setting up subversion (1.14.3-2) ... 184s Setting up python3-enchant (3.2.2-1) ... 184s Setting up python3-translate (3.13.1-1) ... 184s Setting up translate-toolkit (3.13.1-1) ... 184s Setting up autopkgtest-satdep (0) ... 184s Processing triggers for man-db (2.12.1-2) ... 186s Processing triggers for install-info (7.1-3build2) ... 186s Processing triggers for libc-bin (2.39-0ubuntu9) ... 186s Processing triggers for dictionaries-common (1.29.7) ... 191s (Reading database ... 81861 files and directories currently installed.) 191s Removing autopkgtest-satdep (0) ... 192s autopkgtest [22:48:56]: test translate-toolkit: [----------------------- 193s ========= SMOKE TEST: /usr/bin/android2po =========== 193s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 193s 193s Convert Android string files to Gettext PO localization files. See: 193s http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/android2po.html for examples and usage 193s instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in xml format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in xml format 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 193s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 193s input files [input files ...] 193s 193s positional arguments: 193s input files 193s 193s options: 193s -h, --help show this help message and exit 193s -d TMDB_FILE, --tmdb TMDB_FILE 193s translation memory database file (default: tm.db) 193s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 193s source language of translation files (default: en) 193s -t TARGET_LANG, --import-target-lang TARGET_LANG 193s target language of translation files 193s ========= SMOKE TEST: /usr/bin/csv2po =========== 193s 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] 193s 193s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 193s See: http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in csv format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in po, pot, pot formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --charset=CHARSET set charset to decode from csv files 193s --columnorder=COLUMNORDER 193s specify the order and position of columns 193s (location,source,target,context) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 194s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 194s 194s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 194s glossary file. See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in csv format 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in tbx format 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s --charset=CHARSET set charset to decode from csv files 194s --columnorder=COLUMNORDER 194s specify the order and position of columns 194s (comment,source,target) 194s ========= SMOKE TEST: /usr/bin/dtd2po =========== 194s 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] 194s 194s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 194s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 194s this module You can convert back to .dtd using po2dtd.py. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in dtd format 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -t TEMPLATE, --template=TEMPLATE 194s read from TEMPLATE in dtd format 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 194s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 194s 194s Convert flat XML files to Gettext PO localization files. See: 194s http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/flatxml2po.html for examples and usage 194s instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in xml format 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -r ROOT, --root=ROOT name of the XML root element (default: "root") 194s -v VALUE, --value=VALUE 194s name of the XML value element (default: "str") 194s -k KEY, --key=KEY name of the XML key attribute (default: "key") 194s -n NS, --namespace=NS 194s XML namespace uri (default: None) 195s ========= SMOKE TEST: /usr/bin/html2po =========== 195s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 195s 195s Convert HTML files to Gettext PO localization files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in htm, html, xhtml formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --keepcomments preserve html comments as translation notes in the 195s output 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 195s --multifile=MULTIFILESTYLE 195s how to split po/pot files (single, toplevel or 195s onefile) 195s ========= SMOKE TEST: /usr/bin/ical2po =========== 195s 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] 195s 195s Convert iCalendar files to Gettext PO localization files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in ics format 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in ics format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 195s ========= SMOKE TEST: /usr/bin/idml2po =========== 195s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 195s 195s Convert IDML files to PO localization files. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in idml format 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s ========= SMOKE TEST: /usr/bin/ini2po =========== 195s 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] 195s 195s Convert .ini files to Gettext PO localization files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in ini, isl, iss formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in ini, isl, iss formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 196s ========= SMOKE TEST: /usr/bin/json2po =========== 196s 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] 196s 196s Convert JSON files to Gettext PO localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in json format 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in po, pot formats 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in json format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s -P, --pot output PO Templates (.pot) rather than PO files (.po) 196s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 196s everything) 196s --duplicates=DUPLICATESTYLE 196s what to do with duplicate strings (identical source 196s text): merge, msgctxt (default: 'msgctxt') 196s ========= SMOKE TEST: /usr/bin/md2po =========== 196s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 196s 196s Convert Markdown files to Gettext PO localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in markdown, md, text, txt formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in po, pot formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s -P, --pot output PO Templates (.pot) rather than PO files (.po) 196s --duplicates=DUPLICATESTYLE 196s what to do with duplicate strings (identical source 196s text): merge, msgctxt (default: 'msgctxt') 196s --multifile=MULTIFILESTYLE 196s how to split po/pot files (single, toplevel or 196s onefile) 196s ========= SMOKE TEST: /usr/bin/moz2po =========== 197s 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] 197s 197s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 197s See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in *, dtd, inc, ini, it, js, lang, 197s manifest, properties, rdf formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 197s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 197s lang.pot, manifest, properties.po, properties.pot, rdf 197s formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 197s manifest, properties, rdf formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 197s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 197s 197s Convert Mozilla .lang files to Gettext PO localization files. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in lang format 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --encoding=ENCODING The encoding of the input file (default: UTF-8) 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s ========= SMOKE TEST: /usr/bin/msghack =========== 197s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 197s This program can be used to alter .po files in ways no sane mind would think about. 197s -o result will be written to FILE 197s --invert invert a po file by switching msgid and msgstr 197s --master join any number of files in a master-formatted catalog 197s --empty empty the contents of the .po file, creating a .pot 197s --append append entries from ref.po that don't exist in file.po 197s 197s Note: It is just a replacement of msghack for backward support. 197s 197s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 197s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 197s 197s Convert OpenDocument (ODF) files to XLIFF localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 197s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 197s formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in xlf, xliff formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s ========= SMOKE TEST: /usr/bin/oo2po =========== 197s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 197s 197s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 197s files. See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in oo, sdf formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s -l LANG, --language=LANG 197s set target language to extract from oo file (e.g. af- 197s ZA) 197s --source-language=LANG 197s set source language code (default en-US) 197s --nonrecursiveinput don't treat the input oo as a recursive store 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s --multifile=MULTIFILESTYLE 197s how to split po/pot files (single, toplevel or 197s onefile) 197s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 197s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 197s 197s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 197s files. See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in oo, sdf formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in xlf, xliff formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -l LANG, --language=LANG 197s set target language to extract from oo file (e.g. af- 197s ZA) 197s --source-language=LANG 197s set source language code (default en-US) 197s --nonrecursiveinput don't treat the input oo as a recursive store 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s --multifile=MULTIFILESTYLE 197s how to split po/pot files (single, toplevel or 197s onefile) 198s ========= SMOKE TEST: /usr/bin/php2po =========== 198s 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] 198s 198s Convert PHP localization files to Gettext PO localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in html, php formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in po, pot formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in html, php formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -P, --pot output PO Templates (.pot) rather than PO files (.po) 198s --duplicates=DUPLICATESTYLE 198s what to do with duplicate strings (identical source 198s text): merge, msgctxt (default: 'msgctxt') 198s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 198s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 198s 198s Convert PHP format .po files to Python format .po files. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in po, pot formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s ========= SMOKE TEST: /usr/bin/po2csv =========== 198s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 198s 198s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 198s See: http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in csv format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --columnorder=COLUMNORDER 198s specify the order and position of columns 198s (location,source,target,context) 198s ========= SMOKE TEST: /usr/bin/po2dtd =========== 198s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 198s Conversion is either done using a template plus PO file or just using the 198s .po file. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in dtd format 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in dtd format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s --removeuntranslated remove untranslated strings from output 199s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 199s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files to flat XML files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/flatxml2po.html for examples and usage 199s instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in xml format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in xml format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s -r ROOT, --root=ROOT name of the XML root element (default: "root") 199s -v VALUE, --value=VALUE 199s name of the XML value element (default: "str") 199s -k KEY, --key=KEY name of the XML key attribute (default: "key") 199s -n NS, --namespace=NS 199s XML namespace uri (default: None) 199s -w INDENT, --indent=INDENT 199s indent width in spaces, 0 for no indent (default: 2) 199s ========= SMOKE TEST: /usr/bin/po2html =========== 199s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Translate HTML files using Gettext PO localization files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in htm, html, xhtml formats 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in htm, html, xhtml formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --threshold=PERCENT only convert files where the translation completion is 199s above PERCENT 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2ical =========== 199s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files to iCalendar files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in ics format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in ics format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --threshold=PERCENT only convert files where the translation completion is 199s above PERCENT 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2idml =========== 200s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Takes an IDML template file and a PO file containing translations of strings 200s in the IDML template. It creates a new IDML file using the translations of the 200s PO file. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in idml format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in idml format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s ========= SMOKE TEST: /usr/bin/po2ini =========== 200s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to .ini files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in ini, isl formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in ini, isl formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2json =========== 200s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to JSON files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in json format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in json format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s --removeuntranslated remove untranslated strings from output 200s ========= SMOKE TEST: /usr/bin/po2md =========== 200s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Translate Markdown files using Gettext PO localization files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in markdown, md, text, txt formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in markdown, md, text, txt formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s -m MAXLENGTH, --maxlinelength=MAXLENGTH 200s reflow (word wrap) the output to the given maximum 200s line length. set to 0 to disable 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/po2moz =========== 201s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 201s See: http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in *, dtd.po, dtd.pot, inc.po, 201s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 201s lang.pot, manifest, properties.po, properties.pot, rdf 201s formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 201s manifest, properties, rdf formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 201s manifest, properties, rdf formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -l LOCALE, --locale=LOCALE 201s set output locale (required as this sets the directory 201s names) 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s --removeuntranslated remove untranslated strings from output 201s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 201s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Mozilla .lang files. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in lang format 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in lang format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --mark-active mark the file as active 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/po2oo =========== 201s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 201s file. See: http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot, xlf, xliff formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in oo, sdf formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in oo, sdf formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -l LANG, --language=LANG 201s set target language code (e.g. af-ZA) [required] 201s --source-language=LANG 201s set source language code (default en-US) 201s -T, --keeptimestamp don't change the timestamps of the strings 201s --nonrecursiveoutput don't treat the output oo as a recursive store 201s --nonrecursivetemplate 201s don't treat the template oo as a recursive store 201s --skipsource don't output the source language, but fallback to it 201s where needed 201s --filteraction=ACTION 201s action on pofilter failure: none (default), warn, 201s exclude-serious, exclude-all 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s --multifile=MULTIFILESTYLE 201s how to split po/pot files (single, toplevel or 201s onefile) 202s ========= SMOKE TEST: /usr/bin/po2php =========== 202s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to PHP localization files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in html, php formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in html, php formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2prop =========== 202s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to Java/Mozilla .properties files. 202s See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in lang, properties, strings formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in lang, properties, strings 202s formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --personality=TYPE override the input file format: java, java-utf8, java- 202s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 202s strings, strings-utf8, joomla (for .properties files, 202s default: java) 202s --encoding=ENCODING override the encoding set by the personality 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s --removeuntranslated remove untranslated strings from output 202s ========= SMOKE TEST: /usr/bin/po2rc =========== 202s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files back to Windows Resource (.rc) files. 202s See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in rc format 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in rc format 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 202s -l LANG, --lang=LANG LANG entry 202s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2resx =========== 202s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in resx format 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in resx format 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2sub =========== 203s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to subtitle files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in ass, srt, ssa, sub formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in ass, srt, ssa, sub formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --threshold=PERCENT only convert files where the translation completion is 203s above PERCENT 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 203s ========= SMOKE TEST: /usr/bin/po2symb =========== 203s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to Symbian translation files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in r0 format 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --duplicates=DUPLICATESTYLE 203s what to do with duplicate strings (identical source 203s text): merge, msgctxt (default: 'msgctxt') 203s ========= SMOKE TEST: /usr/bin/po2tiki =========== 203s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert Gettext PO files to TikiWiki's language.php files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in tiki format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s ========= SMOKE TEST: /usr/bin/po2tmx =========== 203s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 203s file. See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in tmx format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -l LANG, --language=LANG 203s set target language code (e.g. af-ZA) [required] 203s --source-language=LANG 203s set source language code (default: en) 203s --comments=COMMENT set default comment import: none, source, type or 203s others (default: none) 203s ========= SMOKE TEST: /usr/bin/po2ts =========== 203s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in ts format 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in ts format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -c CONTEXT, --context=CONTEXT 203s use supplied context instead of the one in the .po 203s file comment 203s ========= SMOKE TEST: /usr/bin/po2txt =========== 204s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 204s 204s Convert Gettext PO localization files to plain text (.txt) files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot, xlf, xliff formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in txt format 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in txt format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --encoding=ENCODING The encoding of the template file (default: UTF-8) 204s -w WRAP, --wrap=WRAP set number of columns to wrap text at 204s --threshold=PERCENT only convert files where the translation completion is 204s above PERCENT 204s --fuzzy use translations marked fuzzy 204s --nofuzzy don't use translations marked fuzzy (default) 204s ========= SMOKE TEST: /usr/bin/po2web2py =========== 204s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in py format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --threshold=PERCENT only convert files where the translation completion is 204s above PERCENT 204s --fuzzy use translations marked fuzzy 204s --nofuzzy don't use translations marked fuzzy (default) 204s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 204s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Convert Gettext PO localization files to a Wordfast translation memory file. 204s See: http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/po2wordfast.html for examples and usage 204s instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in txt format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -l LANG, --language=LANG 204s set target language code (e.g. af-ZA) [required] 204s --source-language=LANG 204s set source language code (default: en) 204s ========= SMOKE TEST: /usr/bin/po2xliff =========== 204s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 204s 204s Convert Gettext PO localization files to XLIFF localization files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in xlf, xliff formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in xlf, xliff formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s ========= SMOKE TEST: /usr/bin/po2yaml =========== 204s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 204s 204s Convert Gettext PO localization files to YAML files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in yaml, yml formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in yaml, yml formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --threshold=PERCENT only convert files where the translation completion is 204s above PERCENT 204s --fuzzy use translations marked fuzzy 204s --nofuzzy don't use translations marked fuzzy (default) 204s ========= SMOKE TEST: /usr/bin/poclean =========== 204s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 204s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 204s produces the target file with only the target text in from a text version of 204s the RTF. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot, xlf, xliff formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot, xlf, xliff formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s ========= SMOKE TEST: /usr/bin/pocompendium =========== 204s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 204s The first parameter is the output file, standard output if the output file is '-'. 204s Any number of directories may be specified for input files. 204s Options: 204s --invert|v Creates an inverse compendium with msgid and msgstr swapped 204s --errors|e Only ouput msg bundles that have errors 204s --correct|c Only ouput msg bundles that are correctly translated 204s --ignore-case|i Drops all strings to lowercase 204s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 204s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 204s --strip-accel-under|-su Strip all underscore (_) accelerator characters 204s ========= SMOKE TEST: /usr/bin/pocompile =========== 204s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 204s Object) files. See: http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot, xlf, xliff formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in mo format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --fuzzy use translations marked fuzzy 204s --nofuzzy don't use translations marked fuzzy (default) 205s ========= SMOKE TEST: /usr/bin/poconflicts =========== 205s 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] 205s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 205s 205s Conflict finder for Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/poconflicts.html for examples and usage 205s instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po format 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po format 205s -I, --ignore-case ignore case distinctions 205s -v, --invert invert the conflicts thus extracting conflicting 205s destination words 205s --accelerator=ACCELERATORS 205s ignores the given accelerator characters when matching 205s ========= SMOKE TEST: /usr/bin/pocount =========== 205s usage: pocount [-h] [--incomplete] 205s [--full | --csv | --short | --short-strings | --short-words] 205s [--no-color] 205s files [files ...] 205s 205s positional arguments: 205s files 205s 205s options: 205s -h, --help show this help message and exit 205s --incomplete skip 100% translated files. 205s 205s Output format: 205s --full (default) statistics in full, verbose format 205s --csv statistics in CSV format 205s --short same as --short-strings 205s --short-strings statistics of strings in short format - one line per file 205s --short-words statistics of words in short format - one line per file 205s --no-color show output without color 205s ========= SMOKE TEST: /usr/bin/podebug =========== 205s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Insert debug messages into XLIFF and Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, pot, tmx, xlf, xliff 205s formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, tmx, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -f FORMAT, --format=FORMAT 205s specify format string 205s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 205s classified, en, flipped, unicode, xxx 205s --ignore=APPLICATION apply tagging ignore rules for the given application: 205s gtk, kde, libreoffice, mozilla, openoffice 205s --preserveplaceholders 205s attempt to exclude characters that are part of 205s placeholders when performing character-level rewrites 205s so that consuming applications can still use the 205s placeholders to generate final output 205s ========= SMOKE TEST: /usr/bin/pofilter =========== 205s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 205s 205s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 205s Snippet files are created whenever a test fails. These can be examined, 205s corrected and merged back into the originals using pomerge. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 205s and http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 205s tests. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, tmx, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, tmx, xlf, xliff formats 205s -l, --listfilters list filters available 205s --review include units marked for review (default) 205s --noreview exclude units marked for review 205s --fuzzy include units marked fuzzy (default) 205s --nofuzzy exclude units marked fuzzy 205s --nonotes don't add notes about the errors 205s --autocorrect output automatic corrections where possible rather 205s than describing issues 205s --language=LANG set target language code (e.g. af-ZA) [required for 205s spell check and recommended in general] 205s --openoffice use the standard checks for OpenOffice translations 205s --libreoffice use the standard checks for LibreOffice translations 205s --mozilla use the standard checks for Mozilla translations 205s --drupal use the standard checks for Drupal translations 205s --gnome use the standard checks for Gnome translations 205s --kde use the standard checks for KDE translations 205s --wx use the standard checks for wxWidgets translations 205s --excludefilter=FILTER 205s don't use FILTER when filtering 205s -t FILTER, --test=FILTER 205s only use test FILTERs specified with this option when 205s filtering 205s --notranslatefile=FILE 205s read list of untranslatable words from FILE (must not 205s be translated) 205s --musttranslatefile=FILE 205s read list of translatable words from FILE (must be 205s translated) 205s --validcharsfile=FILE 205s read list of all valid characters from FILE (must be 205s in UTF-8) 205s ========= SMOKE TEST: /usr/bin/pogrep =========== 205s 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] 205s 205s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 205s snippet files of the same type which can then be reviewed and later merged 205s using :doc:`pomerge `. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 205s xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 205s xliff formats 205s --search=SEARCHPARTS searches the given parts (source, target, notes and 205s locations) 205s -I, --ignore-case ignore case distinctions 205s -e, --regexp use regular expression matching 205s -v, --invert-match select non-matching lines 205s --accelerator=ACCELERATOR 205s ignores the given accelerator when matching 205s -k, --keep-translations 205s always extract units with translations 205s ========= SMOKE TEST: /usr/bin/pomerge =========== 205s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Merges XLIFF and Gettext PO localization files. Snippet file produced by 205s e.g. :doc:`pogrep ` and updated by a translator can be 205s merged back into the original files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, pot, xlf, xliff formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in po, pot, pot, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --mergeblanks=MERGEBLANKS 205s whether to overwrite existing translations with blank 205s translations (yes/no). Default is yes. 205s --mergefuzzy=MERGEFUZZY 205s whether to consider fuzzy translations from input 205s (yes/no). Default is yes. 205s --mergecomments=MERGECOMMENTS 205s whether to merge comments as well as translations 205s (yes/no). Default is yes. 205s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 205s Usage pomigrate2 [options] 205s 205s Options: 205s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 205s -C|--use-compendium - create and use a compendium built from the migrating files 205s -C|--use-compendium=some-compendium.po 205s - use an external compendium during the migration 205s --no-wrap - do not wrap long lines 205s --locale=lang - set locale for newly born files 205s -q|--quiet - suppress most output 205s -p|--pot2po - use pot2po instead of msgmerge to migrate 205s ========= SMOKE TEST: /usr/bin/popuretext =========== 205s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 205s ========= SMOKE TEST: /usr/bin/poreencode =========== 205s Usage: poreencode 205s eg: poreencode UTF-8 af/ 205s ========= SMOKE TEST: /usr/bin/porestructure =========== 205s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 205s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 205s 205s Restructure Gettxt PO files produced by :doc:`poconflicts 205s ` into the original directory tree for merging using 205s :doc:`pomerge `. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po format 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po format 206s ========= SMOKE TEST: /usr/bin/posegment =========== 206s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 206s 206s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 206s See: http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot, tmx, xlf, xliff formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot, tmx, xlf, xliff formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s -l LANG, --language=LANG 206s the target language code 206s --source-language=LANG 206s the source language code (default 'en') 206s --keepspaces Disable automatic stripping of whitespace 206s --only-aligned Removes units where sentence number does not 206s correspond 206s ========= SMOKE TEST: /usr/bin/poswap =========== 206s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Builds a new translation file with the target of the input language as source 206s language. .. note:: Ensure that the two po files correspond 100% to the same 206s pot file before using this. To translate Kurdish (ku) through French:: 206s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 206s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in po, pot, pot formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --reverse reverse the process of intermediate language 206s conversion 206s ========= SMOKE TEST: /usr/bin/pot2po =========== 206s 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] 206s 206s Convert template files (like .pot or template .xlf files) to translation 206s files, preserving existing translations. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 206s formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 206s xliff formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 206s xliff formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --tm=TM The file to use as translation memory when fuzzy 206s matching 206s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 206s The minimum similarity for inclusion (default: 75%) 206s --nofuzzymatching Disable fuzzy matching 206s ========= SMOKE TEST: /usr/bin/poterminology =========== 206s 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] 206s input directory is searched for PO files, terminology PO file is output file 206s 206s Create a terminology file by reading a set of .po or .pot files to produce a 206s pootle-terminology.pot. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/poterminology.html for examples and usage 206s instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -u UPDATEFILE, --update=UPDATEFILE 206s update terminology in UPDATEFILE 206s -S STOPFILE, --stopword-list=STOPFILE 206s read stopword (term exclusion) list from STOPFILE 206s (default /usr/share/pyshared/translate/share/stoplist- 206s en) 206s -F, --fold-titlecase fold "Title Case" to lowercase (default) 206s -C, --preserve-case preserve all uppercase/lowercase 206s -I, --ignore-case make all terms lowercase 206s --accelerator=ACCELERATORS 206s ignore the given accelerator characters when matching 206s -t LENGTH, --term-words=LENGTH 206s generate terms of up to LENGTH words (default 3) 206s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 206s 1) 206s --inputs-needed=MIN omit terms appearing in less than MIN input files 206s (default 2, or 1 if only one input file) 206s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 206s different messages (default 1) 206s --substr-needed=MIN omit substring-only terms appearing in less than MIN 206s different messages (default 2) 206s --locs-needed=MIN omit terms appearing in less than MIN different 206s original source files (default 2) 206s --sort=ORDER output sort order(s): frequency, dictionary, length 206s (may repeat option, default is all in above order) 206s --source-language=LANG 206s the source language code (default 'en') 206s -v, --invert invert the source and target languages for terminology 206s ========= SMOKE TEST: /usr/bin/pretranslate =========== 206s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Fill localization files with suggested translations based on translation 206s memory and existing translations. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/pretranslate.html for examples and usage 206s instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot, pot, xlf, xliff formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot, xlf, xliff formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in po, pot, xlf, xliff formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --tm=TM The file to use as translation memory when fuzzy 206s matching 206s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 206s The minimum similarity for inclusion (default: 75%) 206s --nofuzzymatching Disable fuzzy matching 207s ========= SMOKE TEST: /usr/bin/prop2po =========== 207s 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] 207s 207s Convert Java/Mozilla .properties files to Gettext PO localization files. 207s See: http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in lang, properties, strings formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in lang, properties, strings 207s formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --personality=TYPE override the input file format: java, java-utf8, java- 207s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 207s strings, strings-utf8, joomla (for .properties files, 207s default: java) 207s --encoding=ENCODING override the encoding set by the personality 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/pydiff =========== 207s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 207s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 207s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 207s fromfile tofile 207s 207s positional arguments: 207s fromfile 207s tofile 207s 207s options: 207s -h, --help show this help message and exit 207s -i, --ignore-case Ignore case differences in file contents. 207s -U NUM, --unified NUM 207s Output NUM (default 3) lines of unified context 207s -r, --recursive Recursively compare any subdirectories found. 207s -N, --new-file Treat absent files as empty. 207s --unidirectional-new-file 207s Treat absent first files as empty. 207s -s, --report-identical-files 207s Report when two files are the same. 207s -x PAT, --exclude PAT 207s Exclude files that match PAT. 207s --fromcontains TEXT Only show changes where fromfile contains TEXT 207s --tocontains TEXT Only show changes where tofile contains TEXT 207s --contains TEXT Only show changes where fromfile or tofile contains 207s TEXT 207s -I, --ignore-case-contains 207s Ignore case differences when matching any of the 207s changes 207s --accelerator ACCELERATORS 207s ignores the given accelerator characters when matching 207s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 207s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 207s 207s Convert Python format .po files to PHP format .po files. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s ========= SMOKE TEST: /usr/bin/rc2po =========== 207s 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] 207s 207s Convert Windows RC files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in nls, rc formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in nls, rc formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --charset=CHARSET charset to use to decode the RC files (autodetection 207s is used by default) 207s -l LANG, --lang=LANG LANG entry (default: None) 207s --sublang=SUBLANG SUBLANG entry (default: None) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/resx2po =========== 207s 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] 207s 207s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in resx format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in resx format 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 207s everything) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/sub2po =========== 207s 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] 207s 207s Convert subtitle files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in ass, srt, ssa, sub formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in ass, srt, ssa, sub formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/symb2po =========== 207s 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] 207s 207s Convert Symbian localisation files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in r01 format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 208s ========= SMOKE TEST: /usr/bin/tbx2po =========== 208s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 208s 208s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in tbx format 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s ========= SMOKE TEST: /usr/bin/tiki2po =========== 208s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 208s 208s Convert TikiWiki's language.php files to Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in php format 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s --include-unused Include strings in the unused section 208s ========= SMOKE TEST: /usr/bin/tmserver =========== 208s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 208s [-s SOURCE_LANG] [-b BIND] [-p PORT] 208s [--max-candidates MAX_CANDIDATES] 208s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 208s [--debug] 208s 208s options: 208s -h, --help show this help message and exit 208s -d TMDBFILE, --tmdb TMDBFILE 208s translation memory database file 208s -f TMFILES, --import-translation-file TMFILES 208s translation file to import into the database 208s -t TARGET_LANG, --import-target-lang TARGET_LANG 208s target language of translation files 208s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 208s source language of translation files 208s -b BIND, --bind BIND address to bind server to (default: localhost) 208s -p PORT, --port PORT port to listen on (default: 8888) 208s --max-candidates MAX_CANDIDATES 208s Maximum number of candidates 208s --min-similarity MIN_SIMILARITY 208s minimum similarity 208s --max-length MAX_LENGTH 208s Maxmimum string length 208s --debug enable debugging features 208s ========= SMOKE TEST: /usr/bin/ts2po =========== 208s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 208s 208s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in ts format 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -P, --pot output PO Templates (.pot) rather than PO files (.po) 208s --duplicates=DUPLICATESTYLE 208s what to do with duplicate strings (identical source 208s text): merge, msgctxt (default: 'msgctxt') 208s ========= SMOKE TEST: /usr/bin/txt2po =========== 208s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 208s 208s Convert plain text (.txt) files to Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in *, txt formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -P, --pot output PO Templates (.pot) rather than PO files (.po) 208s --encoding=ENCODING The encoding of the input file (default: UTF-8) 208s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 208s mediawiki 208s --no-segmentation Don't segment the file, treat it like a single message 208s --duplicates=DUPLICATESTYLE 208s what to do with duplicate strings (identical source 208s text): merge, msgctxt (default: 'msgctxt') 208s ========= SMOKE TEST: /usr/bin/web2py2po =========== 209s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 209s 209s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in py format 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in po, pot formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s -P, --pot output PO Templates (.pot) rather than PO files (.po) 209s --duplicates=DUPLICATESTYLE 209s what to do with duplicate strings (identical source 209s text): merge, msgctxt (default: 'msgctxt') 209s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 209s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert XLIFF translation files to OpenDocument (ODF) files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in xlf format 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 209s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 209s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 209s formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 209s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 209s file. See: http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot, xlf, xliff formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in oo, sdf formats 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in oo, sdf formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s -l LANG, --language=LANG 209s set target language code (e.g. af-ZA) [required] 209s --source-language=LANG 209s set source language code (default en-US) 209s -T, --keeptimestamp don't change the timestamps of the strings 209s --nonrecursiveoutput don't treat the output oo as a recursive store 209s --nonrecursivetemplate 209s don't treat the template oo as a recursive store 209s --skipsource don't output the source language, but fallback to it 209s where needed 209s --filteraction=ACTION 209s action on pofilter failure: none (default), warn, 209s exclude-serious, exclude-all 209s --fuzzy use translations marked fuzzy 209s --nofuzzy don't use translations marked fuzzy (default) 209s --multifile=MULTIFILESTYLE 209s how to split po/pot files (single, toplevel or 209s onefile) 209s ========= SMOKE TEST: /usr/bin/xliff2po =========== 209s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 209s 209s Convert XLIFF localization files to Gettext PO localization files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in xlf, xliff formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in po, pot formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s -P, --pot output PO Templates (.pot) rather than PO files (.po) 209s --duplicates=DUPLICATESTYLE 209s what to do with duplicate strings (identical source 209s text): merge, msgctxt (default: 'msgctxt') 209s ========= SMOKE TEST: /usr/bin/yaml2po =========== 209s 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] 209s 209s Convert YAML files to Gettext PO localization files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in yaml, yml formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in po, pot formats 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in yaml, yml formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s -P, --pot output PO Templates (.pot) rather than PO files (.po) 209s --duplicates=DUPLICATESTYLE 209s what to do with duplicate strings (identical source 209s text): merge, msgctxt (default: 'msgctxt') 210s autopkgtest [22:49:14]: test translate-toolkit: -----------------------] 210s autopkgtest [22:49:14]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 210s translate-toolkit PASS 211s autopkgtest [22:49:15]: test python3-translate: preparing testbed 669s autopkgtest [22:56:53]: testbed dpkg architecture: arm64 669s autopkgtest [22:56:53]: testbed apt version: 2.9.6 669s autopkgtest [22:56:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 670s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 670s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 670s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 670s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 670s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 670s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [108 kB] 670s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 670s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 670s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 670s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [458 kB] 670s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 670s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7908 B] 670s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 673s Fetched 1216 kB in 1s (1387 kB/s) 673s Reading package lists... 676s Reading package lists... 676s Building dependency tree... 676s Reading state information... 677s Calculating upgrade... 677s The following packages will be upgraded: 677s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 677s ubuntu-pro-client-l10n 677s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 677s Need to get 756 kB of archives. 677s After this operation, 180 kB of additional disk space will be used. 677s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 677s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 677s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 677s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 677s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 678s Fetched 756 kB in 1s (1372 kB/s) 678s (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 ... 78392 files and directories currently installed.) 678s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 678s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 679s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 679s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 679s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 679s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 679s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 679s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 679s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 679s Unpacking ubuntu-pro-client (33.1) over (33) ... 679s Setting up python3-pkg-resources (70.3.0-2) ... 680s Setting up libelf1t64:arm64 (0.191-2) ... 680s Setting up libdw1t64:arm64 (0.191-2) ... 680s Setting up ubuntu-pro-client (33.1) ... 682s Setting up ubuntu-pro-client-l10n (33.1) ... 682s Processing triggers for man-db (2.12.1-2) ... 682s Processing triggers for libc-bin (2.39-0ubuntu9) ... 683s Reading package lists... 683s Building dependency tree... 683s Reading state information... 683s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 684s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 684s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 684s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 684s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 687s Reading package lists... 687s Reading package lists... 688s Building dependency tree... 688s Reading state information... 688s Calculating upgrade... 689s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 689s Reading package lists... 689s Building dependency tree... 689s Reading state information... 690s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 692s autopkgtest [22:57:16]: rebooting testbed after setup commands that affected boot 697s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 730s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 744s Reading package lists... 745s Building dependency tree... 745s Reading state information... 745s Starting pkgProblemResolver with broken count: 0 745s Starting 2 pkgProblemResolver with broken count: 0 745s Done 746s The following additional packages will be installed: 746s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 746s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 746s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 746s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 746s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 746s python3-iniconfig python3-iniparse python3-jaraco.functools 746s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 746s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 746s python3-pytest python3-rapidfuzz python3-ruamel.yaml 746s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 746s python3-translate python3-vobject python3-xapian subversion 746s Suggested packages: 746s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 746s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 746s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 746s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 746s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 746s subversion-tools 746s Recommended packages: 746s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 746s python3-cssselect python3-html5lib 746s The following NEW packages will be installed: 746s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 746s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 746s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 746s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 746s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 746s python3-iniconfig python3-iniparse python3-jaraco.functools 746s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 746s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 746s python3-pytest python3-rapidfuzz python3-ruamel.yaml 746s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 746s python3-translate python3-vobject python3-xapian subversion 746s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 746s Need to get 10.4 MB/10.4 MB of archives. 746s After this operation, 48.0 MB of additional disk space will be used. 746s Get:1 /tmp/autopkgtest.RMYmVR/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [888 B] 746s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 emacsen-common all 3.0.5 [12.1 kB] 746s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 dictionaries-common all 1.29.7 [188 kB] 747s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14.1.0-1ubuntu1 [144 kB] 747s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.22.5-1 [925 kB] 747s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 747s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.2 [105 kB] 747s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libaprutil1t64 arm64 1.6.3-2ubuntu1 [94.1 kB] 747s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 747s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 747s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 747s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 747s Get:13 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 747s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 747s Get:15 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvn1 arm64 1.14.3-2 [1336 kB] 747s Get:16 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxapian30 arm64 1.4.22-1build1 [680 kB] 747s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 747s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aeidon all 1.15-1 [231 kB] 747s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-all arm64 3.12.3-0ubuntu1 [888 B] 747s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 747s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 747s Get:22 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 747s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-more-itertools all 10.3.0-1 [54.9 kB] 747s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 747s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 747s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 747s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 747s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 747s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 747s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rapidfuzz arm64 3.6.2+ds-3 [990 kB] 747s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 747s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.2-1 [1176 kB] 747s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 747s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.1-1 [41.4 kB] 747s Get:35 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-ply all 3.11-6 [46.5 kB] 747s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 747s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 747s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 747s Get:39 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8-1build1 [126 kB] 747s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 747s Get:41 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 747s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 747s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-translate all 3.13.1-1 [319 kB] 747s Get:44 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 747s Get:45 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-xapian arm64 1.4.22-1build5 [355 kB] 747s Get:46 http://ftpmaster.internal/ubuntu oracular/universe arm64 subversion arm64 1.14.3-2 [906 kB] 747s Get:47 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 747s Get:48 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 749s Preconfiguring packages ... 750s Fetched 10.4 MB in 1s (7599 kB/s) 750s Selecting previously unselected package emacsen-common. 750s (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 ... 78404 files and directories currently installed.) 750s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 750s Unpacking emacsen-common (3.0.5) ... 750s Selecting previously unselected package dictionaries-common. 751s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 752s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 752s Unpacking dictionaries-common (1.29.7) ... 752s Selecting previously unselected package libgomp1:arm64. 752s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_arm64.deb ... 752s Unpacking libgomp1:arm64 (14.1.0-1ubuntu1) ... 752s Selecting previously unselected package gettext. 753s Preparing to unpack .../03-gettext_0.22.5-1_arm64.deb ... 753s Unpacking gettext (0.22.5-1) ... 753s Selecting previously unselected package hunspell-en-us. 753s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 753s Unpacking hunspell-en-us (1:2020.12.07-2) ... 754s Selecting previously unselected package libapr1t64:arm64. 754s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_arm64.deb ... 754s Unpacking libapr1t64:arm64 (1.7.2-3.2) ... 754s Selecting previously unselected package libaprutil1t64:arm64. 754s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_arm64.deb ... 754s Unpacking libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 755s Selecting previously unselected package libaspell15:arm64. 756s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 756s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 756s Selecting previously unselected package libhunspell-1.7-0:arm64. 757s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 757s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 757s Selecting previously unselected package libenchant-2-2:arm64. 757s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 757s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 757s Selecting previously unselected package libexttextcat-data. 758s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 758s Unpacking libexttextcat-data (3.4.7-1build1) ... 758s Selecting previously unselected package libserf-1-1:arm64. 759s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 759s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 759s Selecting previously unselected package libutf8proc3:arm64. 760s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 760s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 760s Selecting previously unselected package libsvn1:arm64. 760s Preparing to unpack .../13-libsvn1_1.14.3-2_arm64.deb ... 760s Unpacking libsvn1:arm64 (1.14.3-2) ... 760s Selecting previously unselected package libxapian30:arm64. 760s Preparing to unpack .../14-libxapian30_1.4.22-1build1_arm64.deb ... 760s Unpacking libxapian30:arm64 (1.4.22-1build1) ... 760s Selecting previously unselected package libxslt1.1:arm64. 760s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 760s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 760s Selecting previously unselected package python3-aeidon. 760s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 760s Unpacking python3-aeidon (1.15-1) ... 760s Selecting previously unselected package python3-all. 760s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_arm64.deb ... 760s Unpacking python3-all (3.12.3-0ubuntu1) ... 761s Selecting previously unselected package python3-soupsieve. 761s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 761s Unpacking python3-soupsieve (2.5-1) ... 761s Selecting previously unselected package python3-bs4. 761s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 761s Unpacking python3-bs4 (4.12.3-1) ... 761s Selecting previously unselected package python3-charset-normalizer. 761s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 761s Unpacking python3-charset-normalizer (3.3.2-1) ... 761s Selecting previously unselected package python3-more-itertools. 761s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 761s Unpacking python3-more-itertools (10.3.0-1) ... 761s Selecting previously unselected package python3-jaraco.functools. 761s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 761s Unpacking python3-jaraco.functools (4.0.0-1) ... 761s Selecting previously unselected package python3-cheroot. 761s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 761s Unpacking python3-cheroot (10.0.0+ds1-2) ... 761s Selecting previously unselected package python3-dateutil. 762s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 762s Unpacking python3-dateutil (2.9.0-2) ... 762s Selecting previously unselected package python3-diff-match-patch. 762s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 762s Unpacking python3-diff-match-patch (20230430-1) ... 762s Selecting previously unselected package python3-enchant. 762s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 762s Unpacking python3-enchant (3.2.2-1) ... 762s Selecting previously unselected package python3-iniconfig. 762s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 762s Unpacking python3-iniconfig (1.1.1-2) ... 762s Selecting previously unselected package python3-rapidfuzz. 762s Preparing to unpack .../28-python3-rapidfuzz_3.6.2+ds-3_arm64.deb ... 762s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 762s Selecting previously unselected package python3-levenshtein. 762s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_arm64.deb ... 762s Unpacking python3-levenshtein (0.25.1-3) ... 762s Selecting previously unselected package python3-lxml:arm64. 762s Preparing to unpack .../30-python3-lxml_5.2.2-1_arm64.deb ... 762s Unpacking python3-lxml:arm64 (5.2.2-1) ... 762s Selecting previously unselected package python3-mistletoe. 762s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 762s Unpacking python3-mistletoe (1.3.0-1) ... 762s Selecting previously unselected package python3-packaging. 762s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 762s Unpacking python3-packaging (24.1-1) ... 762s Selecting previously unselected package python3-ply. 762s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 762s Unpacking python3-ply (3.11-6) ... 762s Selecting previously unselected package python3-phply. 763s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 763s Unpacking python3-phply (1.2.6-1) ... 763s Selecting previously unselected package python3-pluggy. 763s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 763s Unpacking python3-pluggy (1.5.0-1) ... 763s Selecting previously unselected package python3-pytest. 763s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 763s Unpacking python3-pytest (7.4.4-1) ... 763s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 763s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_arm64.deb ... 763s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 763s Selecting previously unselected package python3-ruamel.yaml. 763s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 763s Unpacking python3-ruamel.yaml (0.17.21-1) ... 763s Selecting previously unselected package python3-simplejson. 763s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_arm64.deb ... 763s Unpacking python3-simplejson (3.19.2-1build2) ... 763s Selecting previously unselected package python3-syrupy. 764s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 764s Unpacking python3-syrupy (4.6.1-1) ... 764s Selecting previously unselected package python3-translate. 764s Preparing to unpack .../41-python3-translate_3.13.1-1_all.deb ... 764s Unpacking python3-translate (3.13.1-1) ... 765s Selecting previously unselected package python3-vobject. 765s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 765s Unpacking python3-vobject (0.9.6.1-2) ... 765s Selecting previously unselected package python3-xapian. 766s Preparing to unpack .../43-python3-xapian_1.4.22-1build5_arm64.deb ... 766s Unpacking python3-xapian (1.4.22-1build5) ... 766s Selecting previously unselected package subversion. 767s Preparing to unpack .../44-subversion_1.14.3-2_arm64.deb ... 767s Unpacking subversion (1.14.3-2) ... 767s Selecting previously unselected package python3-iniparse. 768s Preparing to unpack .../45-python3-iniparse_0.5-2_all.deb ... 768s Unpacking python3-iniparse (0.5-2) ... 768s Selecting previously unselected package python3-pycountry. 769s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 769s Unpacking python3-pycountry (24.6.1+ds1-1) ... 769s Selecting previously unselected package autopkgtest-satdep. 770s Preparing to unpack .../47-2-autopkgtest-satdep.deb ... 770s Unpacking autopkgtest-satdep (0) ... 770s Setting up python3-more-itertools (10.3.0-1) ... 771s Setting up python3-iniconfig (1.1.1-2) ... 771s Setting up libxapian30:arm64 (1.4.22-1build1) ... 771s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 771s Setting up python3-diff-match-patch (20230430-1) ... 772s Setting up python3-jaraco.functools (4.0.0-1) ... 772s Setting up python3-aeidon (1.15-1) ... 772s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 772s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 772s Setting up python3-charset-normalizer (3.3.2-1) ... 773s Setting up python3-ply (3.11-6) ... 773s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8-1build1) ... 773s Setting up python3-all (3.12.3-0ubuntu1) ... 773s Setting up libgomp1:arm64 (14.1.0-1ubuntu1) ... 773s Setting up python3-simplejson (3.19.2-1build2) ... 773s Setting up python3-packaging (24.1-1) ... 773s Setting up emacsen-common (3.0.5) ... 773s Setting up python3-cheroot (10.0.0+ds1-2) ... 774s Setting up python3-pycountry (24.6.1+ds1-1) ... 774s Setting up python3-xapian (1.4.22-1build5) ... 774s Setting up python3-pluggy (1.5.0-1) ... 774s Setting up python3-ruamel.yaml (0.17.21-1) ... 774s Setting up python3-mistletoe (1.3.0-1) ... 775s Setting up libexttextcat-data (3.4.7-1build1) ... 775s Setting up libapr1t64:arm64 (1.7.2-3.2) ... 775s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 775s Setting up python3-dateutil (2.9.0-2) ... 775s Setting up python3-levenshtein (0.25.1-3) ... 775s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 775s Setting up python3-soupsieve (2.5-1) ... 775s Setting up python3-iniparse (0.5-2) ... 775s Setting up libaprutil1t64:arm64 (1.6.3-2ubuntu1) ... 775s Setting up python3-vobject (0.9.6.1-2) ... 776s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 776s patterns['name'] = '[a-zA-Z0-9\-_]+' 776s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 776s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 776s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 776s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 776s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 776s """ 776s Setting up gettext (0.22.5-1) ... 776s Setting up python3-phply (1.2.6-1) ... 776s Setting up dictionaries-common (1.29.7) ... 777s Setting up python3-pytest (7.4.4-1) ... 777s Setting up python3-syrupy (4.6.1-1) ... 778s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 778s Setting up python3-bs4 (4.12.3-1) ... 778s Setting up python3-lxml:arm64 (5.2.2-1) ... 778s Setting up hunspell-en-us (1:2020.12.07-2) ... 778s Setting up libsvn1:arm64 (1.14.3-2) ... 778s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 778s Setting up subversion (1.14.3-2) ... 778s Setting up python3-enchant (3.2.2-1) ... 778s Setting up python3-translate (3.13.1-1) ... 779s Setting up autopkgtest-satdep (0) ... 779s Processing triggers for man-db (2.12.1-2) ... 780s Processing triggers for install-info (7.1-3build2) ... 780s Processing triggers for libc-bin (2.39-0ubuntu9) ... 780s Processing triggers for dictionaries-common (1.29.7) ... 787s (Reading database ... 81890 files and directories currently installed.) 787s Removing autopkgtest-satdep (0) ... 791s autopkgtest [22:58:55]: test python3-translate: [----------------------- 793s ============================= test session starts ============================== 793s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 793s cachedir: .pytest_cache 793s rootdir: /tmp/autopkgtest.RMYmVR/autopkgtest_tmp 793s plugins: syrupy-4.6.1 805s collecting ... collected 3339 items / 2 skipped 805s 806s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 806s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 806s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 806s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 806s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 806s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 806s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 806s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 806s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 806s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 806s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 806s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 807s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 807s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 807s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 807s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 807s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 807s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 807s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 807s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 807s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 807s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 807s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 807s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 807s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 807s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 807s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 807s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 807s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 807s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 807s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 807s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 807s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 807s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 807s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 807s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 808s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 808s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 808s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 808s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 808s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 808s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 808s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 808s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 808s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 808s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 808s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 808s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 808s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 808s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 808s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 808s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 808s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 808s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 808s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 808s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 808s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 808s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 808s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 809s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 810s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 810s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 810s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 810s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 810s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 810s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 810s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 810s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 810s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 810s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 810s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 810s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 810s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 810s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 810s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 810s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 810s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 810s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 810s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 810s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 810s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 810s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 810s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 810s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 810s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 810s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 810s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 811s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 811s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 811s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 811s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 811s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 811s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 811s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 811s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 811s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 811s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 811s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 811s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 811s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 811s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 811s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 812s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 812s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 812s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 812s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 812s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 812s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 812s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 812s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 812s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 812s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 812s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 812s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 812s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 812s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 812s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 812s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 812s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 812s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 812s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 812s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 812s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 812s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 812s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 812s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 812s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 812s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 812s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 812s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 812s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 812s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 812s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 812s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 813s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 813s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 813s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 813s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 813s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 813s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 813s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 813s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 813s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 813s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 813s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 813s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 813s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 813s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 813s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 813s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 813s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 813s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 813s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 813s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 813s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 813s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 813s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 813s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 813s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 813s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 813s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 813s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 813s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 813s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 813s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 813s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 813s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 813s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 813s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 813s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 813s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 813s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 813s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 813s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 813s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 813s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 813s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 813s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 813s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 813s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 813s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 813s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 813s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 813s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 814s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 814s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 814s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 814s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 814s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 814s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 814s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 814s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 814s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 814s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 814s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 814s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 814s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 814s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 814s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 814s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 814s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 814s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 814s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 814s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 814s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 814s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 814s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 814s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 815s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 815s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 815s 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%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 815s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 815s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 815s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 815s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 815s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 815s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 815s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 815s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 815s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 815s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 815s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 815s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 815s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 815s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 815s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 815s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 815s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 815s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 815s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 815s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 816s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 816s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 816s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 816s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 816s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 816s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 816s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 816s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 816s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 817s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 817s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 817s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 817s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 817s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 817s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 817s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 817s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 817s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 818s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 818s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 818s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 818s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 818s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 818s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 818s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 818s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 818s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 818s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 818s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 818s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 818s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 818s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 818s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 818s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 818s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 818s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 818s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 818s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 818s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 820s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 820s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 820s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 820s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 820s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 820s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 820s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 820s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 820s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 820s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 820s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 820s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 820s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 820s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 820s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 820s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 820s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 820s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 820s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 820s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 820s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 820s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 820s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 820s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 820s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 820s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 820s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 820s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 820s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 820s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 820s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 820s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 821s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 821s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 821s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 821s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 821s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 821s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 821s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 821s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 821s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 821s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 821s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 821s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 821s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 821s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 821s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 821s 821s =============================== warnings summary =============================== 821s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 821s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.RMYmVR/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 821s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 821s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 821s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 821s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 821s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 821s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 821s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 821s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 821s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 821s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 821s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 821s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 821s Warning: Could not find accesskey for key.accesskey 821s 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 821s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 821s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 821s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.RMYmVR/autopkgtest_tmp/tests/translate/convert/test.idml'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 821s Warning: unclosed file <_io.BufferedReader name='translation.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 821s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 821s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 821s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 821s Warning: Could not find accesskey for prop.accesskey 821s 821s tests/translate/convert/test_po2tmx.py: 26 warnings 821s tests/translate/filters/test_pofilter.py: 13 warnings 821s tests/translate/storage/test_tbx.py: 17 warnings 821s tests/translate/storage/test_tmx.py: 24 warnings 821s 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' 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 821s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 821s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 821s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 821s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 821s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 821s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.RMYmVR/autopkgtest_tmp/tests/translate/convert/test.odt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 821s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 821s 821s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 821s Warning: DTD file '' does not validate 821s 821s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 821s --------------------------- snapshot report summary ---------------------------- 821s 23 snapshots passed. 821s =========================== short test summary info ============================ 821s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 821s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 821s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 821s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 821s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 821s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 821s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 821s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 821s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 821s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 821s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 821s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 821s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 821s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 821s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 821s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 821s 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. 821s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 821s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 821s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 821s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 821s 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 821s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 821s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 821s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 821s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 821s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 821s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 821s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 821s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 821s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 821s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 821s ========= 3276 passed, 22 skipped, 43 xfailed, 126 warnings in 28.42s ========== 823s autopkgtest [22:59:27]: test python3-translate: -----------------------] 823s autopkgtest [22:59:27]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 823s python3-translate PASS 824s autopkgtest [22:59:28]: test python3-translate-commands: preparing testbed 825s Reading package lists... 825s Building dependency tree... 825s Reading state information... 826s Starting pkgProblemResolver with broken count: 0 826s Starting 2 pkgProblemResolver with broken count: 0 826s Done 826s The following additional packages will be installed: 826s translate-toolkit 826s Recommended packages: 826s translate-toolkit-doc 826s The following NEW packages will be installed: 826s autopkgtest-satdep translate-toolkit 826s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 826s Need to get 81.2 kB/82.1 kB of archives. 826s After this operation, 225 kB of additional disk space will be used. 826s Get:1 /tmp/autopkgtest.RMYmVR/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [896 B] 827s Get:2 http://ftpmaster.internal/ubuntu oracular/universe arm64 translate-toolkit all 3.13.1-1 [81.2 kB] 828s Fetched 81.2 kB in 0s (226 kB/s) 828s Selecting previously unselected package translate-toolkit. 828s (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 ... 81890 files and directories currently installed.) 828s Preparing to unpack .../translate-toolkit_3.13.1-1_all.deb ... 828s Unpacking translate-toolkit (3.13.1-1) ... 828s Selecting previously unselected package autopkgtest-satdep. 828s Preparing to unpack .../3-autopkgtest-satdep.deb ... 828s Unpacking autopkgtest-satdep (0) ... 828s Setting up translate-toolkit (3.13.1-1) ... 828s Setting up autopkgtest-satdep (0) ... 828s Processing triggers for man-db (2.12.1-2) ... 834s (Reading database ... 82060 files and directories currently installed.) 834s Removing autopkgtest-satdep (0) ... 834s autopkgtest [22:59:38]: test python3-translate-commands: [----------------------- 835s ============================= test session starts ============================== 835s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 835s cachedir: .pytest_cache 835s rootdir: /tmp/autopkgtest.RMYmVR/autopkgtest_tmp 835s plugins: syrupy-4.6.1 841s collecting ... collected 3339 items / 2 skipped 841s 841s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 841s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 841s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 841s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 841s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 841s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 841s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 841s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 841s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 841s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 841s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 841s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 842s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 842s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 842s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 842s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 842s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 842s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 842s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 842s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 842s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 842s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 842s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 842s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 842s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 842s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 842s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 842s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 842s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 842s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 842s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 842s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 842s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 842s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 842s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 842s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 842s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 843s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 843s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 843s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 843s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 843s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 843s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 843s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 843s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 843s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 843s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 843s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 843s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 843s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 843s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 843s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 844s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 845s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 846s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 846s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 846s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 846s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 846s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 846s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 846s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 846s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 846s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 846s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 846s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 846s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 846s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 846s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 846s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 846s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 846s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 846s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 846s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 846s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 846s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 846s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 846s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 846s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 846s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 847s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 847s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 847s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 847s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 847s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 847s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 847s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 847s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 847s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 847s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 847s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 847s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 847s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 847s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 847s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 847s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 847s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 847s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 847s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 847s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 847s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 847s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 848s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 848s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 848s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 848s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 848s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 848s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 848s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 848s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 848s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 848s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 848s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 849s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 849s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 849s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 849s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 849s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 849s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 849s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 850s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 850s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 850s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 850s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 850s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 850s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 850s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 850s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 850s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 850s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 850s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 850s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 850s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 850s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 850s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 850s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 850s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 850s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 850s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 850s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 850s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 850s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 850s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 850s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 850s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 850s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 850s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 850s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 850s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 850s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 850s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 850s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 850s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 850s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 850s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 850s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 850s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 850s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 850s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 850s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 850s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 850s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 850s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 850s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 850s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 850s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 850s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 850s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 850s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 850s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 850s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 850s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 850s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 850s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 850s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 850s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 850s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 850s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 850s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 851s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 851s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 852s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 852s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 852s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 852s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 852s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 852s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 852s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 852s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 852s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 852s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 852s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 852s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 852s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 852s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 852s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 852s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 852s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 852s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 852s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 852s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 852s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 852s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 853s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 853s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 853s 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%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 853s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 853s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 853s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 853s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 853s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 853s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 853s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 853s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 853s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 853s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 853s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 853s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 853s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 853s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 854s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 854s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 854s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 854s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 854s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 854s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 854s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 854s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 855s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 856s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 856s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 856s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 856s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 856s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 856s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 856s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 856s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 856s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 856s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 856s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 856s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 857s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 857s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 857s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 857s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 857s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 857s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 857s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 857s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 857s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 857s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 858s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 858s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 858s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 858s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 858s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 858s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 858s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 858s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 858s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 858s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 858s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 858s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 858s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 858s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 858s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 858s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 859s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 860s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 860s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 860s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 860s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 860s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 860s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 860s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 860s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 860s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 860s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 860s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 860s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 860s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 860s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 860s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 861s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 861s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 861s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 862s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 862s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 862s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 863s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 863s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 863s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 863s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 863s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 863s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 863s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 863s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 863s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 863s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 864s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 864s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 865s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 865s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 865s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 865s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 865s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 865s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 865s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 866s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 866s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 866s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 866s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 866s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 866s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 866s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 866s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 866s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 866s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 867s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 867s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 867s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 867s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 867s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 867s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 867s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 867s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 867s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 867s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 867s 867s =============================== warnings summary =============================== 867s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 867s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.RMYmVR/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 867s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 867s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 867s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 867s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 867s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 867s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 867s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 867s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 867s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 867s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 867s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 867s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 867s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 867s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 867s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 867s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 867s Warning: Could not find accesskey for key.accesskey 867s 867s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 867s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 867s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 867s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 867s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 867s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.RMYmVR/autopkgtest_tmp/tests/translate/convert/test.idml'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 867s Warning: unclosed file <_io.BufferedReader name='translation.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 867s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 867s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 867s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 867s Warning: Could not find accesskey for prop.accesskey 867s 867s tests/translate/convert/test_po2tmx.py: 26 warnings 867s tests/translate/filters/test_pofilter.py: 13 warnings 867s tests/translate/storage/test_tbx.py: 17 warnings 867s tests/translate/storage/test_tmx.py: 24 warnings 867s 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' 867s 867s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 867s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 867s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 867s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 867s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 867s Enable tracemalloc to get traceback where the object was allocated. 867s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 867s 868s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 868s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 868s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 868s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 868s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 868s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 868s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 868s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 868s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 868s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.RMYmVR/autopkgtest_tmp/tests/translate/convert/test.odt'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 868s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 868s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 868s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 868s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 868s Enable tracemalloc to get traceback where the object was allocated. 868s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 868s 868s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 868s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 868s 868s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 868s Warning: DTD file '' does not validate 868s 868s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 868s --------------------------- snapshot report summary ---------------------------- 868s 23 snapshots passed. 868s =========================== short test summary info ============================ 868s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 868s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 868s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 868s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 868s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 868s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 868s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 868s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 868s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 868s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 868s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 868s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 868s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 868s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 868s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 868s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 868s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 868s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 868s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 868s 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. 868s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 868s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 868s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 868s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 868s 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 868s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 868s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 868s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 868s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 868s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 868s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 868s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 868s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 868s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 868s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 868s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 868s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 868s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 868s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 868s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 868s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 868s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 868s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 868s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 868s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 868s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 868s ========== 3295 passed, 3 skipped, 43 xfailed, 126 warnings in 32.73s ========== 869s autopkgtest [23:00:13]: test python3-translate-commands: -----------------------] 870s python3-translate-commands PASS 870s autopkgtest [23:00:14]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 871s autopkgtest [23:00:15]: @@@@@@@@@@@@@@@@@@@@ summary 871s translate-toolkit PASS 871s python3-translate PASS 871s python3-translate-commands PASS 898s nova [W] Skipping flock in bos03-arm64 898s Creating nova instance adt-oracular-arm64-translate-toolkit-20240713-224526-juju-7f2275-prod-proposed-migration-environment-2-bacaec7a-038b-4d71-ba4a-897bba1221f7 from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)... 898s nova [W] Skipping flock in bos03-arm64 898s Creating nova instance adt-oracular-arm64-translate-toolkit-20240713-224526-juju-7f2275-prod-proposed-migration-environment-2-bacaec7a-038b-4d71-ba4a-897bba1221f7 from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)...