0s autopkgtest [00:18:03]: starting date and time: 2024-07-14 00:18:03+0000 0s autopkgtest [00:18:03]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [00:18:03]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.91dd8wfk/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@bos02-s390x-8.secgroup --name adt-oracular-s390x-translate-toolkit-20240713-232454-juju-7f2275-prod-proposed-migration-environment-2-56bc6255-b0d8-4b55-a105-000c1ccfa11e --image adt/ubuntu-oracular-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 61s autopkgtest [00:19:04]: testbed dpkg architecture: s390x 61s autopkgtest [00:19:04]: testbed apt version: 2.9.6 61s autopkgtest [00:19:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup 62s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 62s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [378 kB] 62s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [2576 B] 62s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 62s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.1 kB] 62s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [92.9 kB] 62s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x c-n-f Metadata [2112 B] 62s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1368 B] 62s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x c-n-f Metadata [120 B] 62s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [418 kB] 63s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x c-n-f Metadata [8372 B] 63s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [1448 B] 63s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x c-n-f Metadata [120 B] 63s Fetched 1088 kB in 1s (1495 kB/s) 63s Reading package lists... 65s Reading package lists... 65s Building dependency tree... 65s Reading state information... 65s Calculating upgrade... 65s The following packages will be upgraded: 65s libdw1t64 libelf1t64 python3-pkg-resources python3-setuptools 66s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 66s Need to get 969 kB of archives. 66s After this operation, 464 kB of additional disk space will be used. 66s Get:1 http://ftpmaster.internal/ubuntu oracular/main s390x libdw1t64 s390x 0.191-2 [285 kB] 66s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x libelf1t64 s390x 0.191-2 [68.6 kB] 66s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-setuptools all 70.3.0-2 [429 kB] 66s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-pkg-resources all 70.3.0-2 [187 kB] 66s Fetched 969 kB in 1s (1775 kB/s) 66s (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 ... 54720 files and directories currently installed.) 66s Preparing to unpack .../libdw1t64_0.191-2_s390x.deb ... 66s Unpacking libdw1t64:s390x (0.191-2) over (0.191-1) ... 66s Preparing to unpack .../libelf1t64_0.191-2_s390x.deb ... 66s Unpacking libelf1t64:s390x (0.191-2) over (0.191-1) ... 66s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 66s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 66s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 66s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 67s Setting up python3-pkg-resources (70.3.0-2) ... 67s Setting up python3-setuptools (70.3.0-2) ... 67s Setting up libelf1t64:s390x (0.191-2) ... 67s Setting up libdw1t64:s390x (0.191-2) ... 67s Processing triggers for libc-bin (2.39-0ubuntu9) ... 68s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 68s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 68s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 68s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 69s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 69s Reading package lists... 69s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s Calculating upgrade... 70s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 70s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s autopkgtest [00:19:16]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:14:26 UTC 2024 73s autopkgtest [00:19:16]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 75s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (dsc) [3098 B] 75s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (tar) [1173 kB] 75s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (diff) [24.4 kB] 76s gpgv: Signature made Thu Jun 27 09:16:24 2024 UTC 76s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 76s gpgv: Can't check signature: No public key 76s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.1-1.dsc: no acceptable signature found 76s autopkgtest [00:19:19]: testing package translate-toolkit version 3.13.1-1 76s autopkgtest [00:19:19]: build not needed 77s autopkgtest [00:19:20]: test translate-toolkit: preparing testbed 78s Reading package lists... 78s Building dependency tree... 78s Reading state information... 78s Starting pkgProblemResolver with broken count: 0 78s Starting 2 pkgProblemResolver with broken count: 0 78s Done 78s The following additional packages will be installed: 78s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 78s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 78s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 78s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 78s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 78s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 78s python3-more-itertools python3-phply python3-ply python3-pycountry 78s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 78s python3-simplejson python3-soupsieve python3-translate python3-vobject 78s python3-xapian subversion translate-toolkit 78s Suggested packages: 78s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 78s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 78s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 78s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 78s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 78s subversion-tools 78s Recommended packages: 78s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 78s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 78s The following NEW packages will be installed: 78s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 78s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 78s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 78s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 78s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 78s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 78s python3-mistletoe python3-more-itertools python3-phply python3-ply 78s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 78s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 78s python3-translate python3-vobject python3-xapian subversion 78s translate-toolkit 78s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 78s Need to get 11.0 MB/11.0 MB of archives. 78s After this operation, 46.6 MB of additional disk space will be used. 78s Get:1 /tmp/autopkgtest.qEZAl4/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [876 B] 78s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 78s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 79s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14.1.0-1ubuntu1 [151 kB] 79s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.22.5-1 [989 kB] 79s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 79s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.2 [113 kB] 79s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-2ubuntu1 [97.9 kB] 79s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 79s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 79s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 79s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 79s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 79s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 79s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-2 [1363 kB] 79s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 79s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 79s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.15-1 [231 kB] 79s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 79s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 79s Get:21 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-charset-normalizer all 3.3.2-1 [47.9 kB] 79s Get:22 http://ftpmaster.internal/ubuntu oracular/main s390x python3-more-itertools all 10.3.0-1 [54.9 kB] 79s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 79s Get:24 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 79s Get:25 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 79s Get:26 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 79s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 79s Get:28 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.6.2+ds-3 [1484 kB] 79s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 79s Get:30 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.2-1 [1297 kB] 79s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 79s Get:32 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 79s Get:33 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 79s Get:34 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1build1 [142 kB] 79s Get:35 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 79s Get:36 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 79s Get:37 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.13.1-1 [319 kB] 79s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 79s Get:39 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-xapian s390x 1.4.22-1build5 [366 kB] 79s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-2 [909 kB] 79s Get:41 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.13.1-1 [81.2 kB] 79s Get:42 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 79s Get:43 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 80s Preconfiguring packages ... 80s Fetched 11.0 MB in 1s (9560 kB/s) 80s Selecting previously unselected package emacsen-common. 80s (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 ... 54780 files and directories currently installed.) 80s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 80s Unpacking emacsen-common (3.0.5) ... 80s Selecting previously unselected package dictionaries-common. 80s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 80s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 80s Unpacking dictionaries-common (1.29.7) ... 80s Selecting previously unselected package libgomp1:s390x. 80s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_s390x.deb ... 80s Unpacking libgomp1:s390x (14.1.0-1ubuntu1) ... 80s Selecting previously unselected package gettext. 80s Preparing to unpack .../03-gettext_0.22.5-1_s390x.deb ... 80s Unpacking gettext (0.22.5-1) ... 80s Selecting previously unselected package hunspell-en-us. 80s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 80s Unpacking hunspell-en-us (1:2020.12.07-2) ... 80s Selecting previously unselected package libapr1t64:s390x. 80s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_s390x.deb ... 80s Unpacking libapr1t64:s390x (1.7.2-3.2) ... 80s Selecting previously unselected package libaprutil1t64:s390x. 80s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_s390x.deb ... 80s Unpacking libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 80s Selecting previously unselected package libaspell15:s390x. 80s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 80s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 80s Selecting previously unselected package libhunspell-1.7-0:s390x. 80s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 80s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 80s Selecting previously unselected package libenchant-2-2:s390x. 80s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 80s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 80s Selecting previously unselected package libexttextcat-data. 80s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 80s Unpacking libexttextcat-data (3.4.7-1build1) ... 80s Selecting previously unselected package libserf-1-1:s390x. 80s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 80s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 80s Selecting previously unselected package libutf8proc3:s390x. 80s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 80s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 80s Selecting previously unselected package libsvn1:s390x. 80s Preparing to unpack .../13-libsvn1_1.14.3-2_s390x.deb ... 80s Unpacking libsvn1:s390x (1.14.3-2) ... 80s Selecting previously unselected package libxapian30:s390x. 80s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 80s Unpacking libxapian30:s390x (1.4.22-1build1) ... 80s Selecting previously unselected package libxslt1.1:s390x. 80s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 80s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 80s Selecting previously unselected package python3-aeidon. 80s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 80s Unpacking python3-aeidon (1.15-1) ... 80s Selecting previously unselected package python3-soupsieve. 80s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 80s Unpacking python3-soupsieve (2.5-1) ... 80s Selecting previously unselected package python3-bs4. 80s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 80s Unpacking python3-bs4 (4.12.3-1) ... 80s Selecting previously unselected package python3-charset-normalizer. 80s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 80s Unpacking python3-charset-normalizer (3.3.2-1) ... 80s Selecting previously unselected package python3-more-itertools. 80s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 80s Unpacking python3-more-itertools (10.3.0-1) ... 80s Selecting previously unselected package python3-jaraco.functools. 80s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 80s Unpacking python3-jaraco.functools (4.0.0-1) ... 80s Selecting previously unselected package python3-cheroot. 80s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 80s Unpacking python3-cheroot (10.0.0+ds1-2) ... 80s Selecting previously unselected package python3-dateutil. 80s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 80s Unpacking python3-dateutil (2.9.0-2) ... 80s Selecting previously unselected package python3-diff-match-patch. 80s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 80s Unpacking python3-diff-match-patch (20230430-1) ... 80s Selecting previously unselected package python3-enchant. 80s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 80s Unpacking python3-enchant (3.2.2-1) ... 80s Selecting previously unselected package python3-rapidfuzz. 80s Preparing to unpack .../26-python3-rapidfuzz_3.6.2+ds-3_s390x.deb ... 80s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 80s Selecting previously unselected package python3-levenshtein. 80s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_s390x.deb ... 80s Unpacking python3-levenshtein (0.25.1-3) ... 80s Selecting previously unselected package python3-lxml:s390x. 80s Preparing to unpack .../28-python3-lxml_5.2.2-1_s390x.deb ... 80s Unpacking python3-lxml:s390x (5.2.2-1) ... 80s Selecting previously unselected package python3-mistletoe. 80s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 80s Unpacking python3-mistletoe (1.3.0-1) ... 80s Selecting previously unselected package python3-ply. 80s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 80s Unpacking python3-ply (3.11-6) ... 80s Selecting previously unselected package python3-phply. 80s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 80s Unpacking python3-phply (1.2.6-1) ... 80s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 80s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_s390x.deb ... 80s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 80s Selecting previously unselected package python3-ruamel.yaml. 81s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 81s Unpacking python3-ruamel.yaml (0.17.21-1) ... 81s Selecting previously unselected package python3-simplejson. 81s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_s390x.deb ... 81s Unpacking python3-simplejson (3.19.2-1build2) ... 81s Selecting previously unselected package python3-translate. 81s Preparing to unpack .../35-python3-translate_3.13.1-1_all.deb ... 81s Unpacking python3-translate (3.13.1-1) ... 81s Selecting previously unselected package python3-vobject. 81s Preparing to unpack .../36-python3-vobject_0.9.6.1-2_all.deb ... 81s Unpacking python3-vobject (0.9.6.1-2) ... 81s Selecting previously unselected package python3-xapian. 81s Preparing to unpack .../37-python3-xapian_1.4.22-1build5_s390x.deb ... 81s Unpacking python3-xapian (1.4.22-1build5) ... 81s Selecting previously unselected package subversion. 81s Preparing to unpack .../38-subversion_1.14.3-2_s390x.deb ... 81s Unpacking subversion (1.14.3-2) ... 81s Selecting previously unselected package translate-toolkit. 81s Preparing to unpack .../39-translate-toolkit_3.13.1-1_all.deb ... 81s Unpacking translate-toolkit (3.13.1-1) ... 81s Selecting previously unselected package python3-iniparse. 81s Preparing to unpack .../40-python3-iniparse_0.5-2_all.deb ... 81s Unpacking python3-iniparse (0.5-2) ... 81s Selecting previously unselected package python3-pycountry. 81s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 81s Unpacking python3-pycountry (24.6.1+ds1-1) ... 81s Selecting previously unselected package autopkgtest-satdep. 81s Preparing to unpack .../42-1-autopkgtest-satdep.deb ... 81s Unpacking autopkgtest-satdep (0) ... 81s Setting up python3-more-itertools (10.3.0-1) ... 81s Setting up libxapian30:s390x (1.4.22-1build1) ... 81s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 81s Setting up python3-diff-match-patch (20230430-1) ... 81s Setting up python3-jaraco.functools (4.0.0-1) ... 81s Setting up python3-aeidon (1.15-1) ... 82s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 82s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 82s Setting up python3-charset-normalizer (3.3.2-1) ... 82s Setting up python3-ply (3.11-6) ... 82s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 82s Setting up libgomp1:s390x (14.1.0-1ubuntu1) ... 82s Setting up python3-simplejson (3.19.2-1build2) ... 82s Setting up emacsen-common (3.0.5) ... 82s Setting up python3-cheroot (10.0.0+ds1-2) ... 82s Setting up python3-pycountry (24.6.1+ds1-1) ... 82s Setting up python3-xapian (1.4.22-1build5) ... 83s Setting up python3-ruamel.yaml (0.17.21-1) ... 83s Setting up python3-mistletoe (1.3.0-1) ... 83s Setting up libexttextcat-data (3.4.7-1build1) ... 83s Setting up libapr1t64:s390x (1.7.2-3.2) ... 83s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 83s Setting up python3-dateutil (2.9.0-2) ... 83s Setting up python3-levenshtein (0.25.1-3) ... 83s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 83s Setting up python3-soupsieve (2.5-1) ... 83s Setting up python3-iniparse (0.5-2) ... 84s Setting up libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 84s Setting up python3-vobject (0.9.6.1-2) ... 84s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 84s patterns['name'] = '[a-zA-Z0-9\-_]+' 84s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 84s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 84s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 84s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 84s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 84s """ 84s Setting up gettext (0.22.5-1) ... 84s Setting up python3-phply (1.2.6-1) ... 84s Setting up dictionaries-common (1.29.7) ... 84s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 84s Setting up python3-bs4 (4.12.3-1) ... 85s Setting up python3-lxml:s390x (5.2.2-1) ... 85s Setting up hunspell-en-us (1:2020.12.07-2) ... 85s Setting up libsvn1:s390x (1.14.3-2) ... 85s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 85s Setting up subversion (1.14.3-2) ... 85s Setting up python3-enchant (3.2.2-1) ... 85s Setting up python3-translate (3.13.1-1) ... 85s Setting up translate-toolkit (3.13.1-1) ... 85s Setting up autopkgtest-satdep (0) ... 85s Processing triggers for man-db (2.12.1-2) ... 86s Processing triggers for install-info (7.1-3build2) ... 86s Processing triggers for libc-bin (2.39-0ubuntu9) ... 86s Processing triggers for dictionaries-common (1.29.7) ... 89s (Reading database ... 58237 files and directories currently installed.) 89s Removing autopkgtest-satdep (0) ... 89s autopkgtest [00:19:32]: test translate-toolkit: [----------------------- 90s ========= SMOKE TEST: /usr/bin/android2po =========== 90s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Convert Android string files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/android2po.html for examples and usage 90s instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in xml format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in xml format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 90s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 90s input files [input files ...] 90s 90s positional arguments: 90s input files 90s 90s options: 90s -h, --help show this help message and exit 90s -d TMDB_FILE, --tmdb TMDB_FILE 90s translation memory database file (default: tm.db) 90s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 90s source language of translation files (default: en) 90s -t TARGET_LANG, --import-target-lang TARGET_LANG 90s target language of translation files 90s ========= SMOKE TEST: /usr/bin/csv2po =========== 90s 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] 90s 90s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 90s See: http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in csv format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in po, pot, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --charset=CHARSET set charset to decode from csv files 90s --columnorder=COLUMNORDER 90s specify the order and position of columns 90s (location,source,target,context) 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 90s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 90s 90s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 90s glossary file. See: http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in csv format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in tbx format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --charset=CHARSET set charset to decode from csv files 90s --columnorder=COLUMNORDER 90s specify the order and position of columns 90s (comment,source,target) 90s ========= SMOKE TEST: /usr/bin/dtd2po =========== 90s 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] 90s 90s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 90s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 90s this module You can convert back to .dtd using po2dtd.py. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in dtd format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in dtd format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 90s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 90s 90s Convert flat XML files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/flatxml2po.html for examples and usage 90s instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in xml format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -r ROOT, --root=ROOT name of the XML root element (default: "root") 90s -v VALUE, --value=VALUE 90s name of the XML value element (default: "str") 90s -k KEY, --key=KEY name of the XML key attribute (default: "key") 90s -n NS, --namespace=NS 90s XML namespace uri (default: None) 90s ========= SMOKE TEST: /usr/bin/html2po =========== 90s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 90s 90s Convert HTML files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in htm, html, xhtml formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --keepcomments preserve html comments as translation notes in the 90s output 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s --multifile=MULTIFILESTYLE 90s how to split po/pot files (single, toplevel or 90s onefile) 90s ========= SMOKE TEST: /usr/bin/ical2po =========== 90s 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] 90s 90s Convert iCalendar files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in ics format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in ics format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/idml2po =========== 91s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 91s 91s Convert IDML files to PO localization files. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in idml format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s ========= SMOKE TEST: /usr/bin/ini2po =========== 91s 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] 91s 91s Convert .ini files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in ini, isl, iss formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in ini, isl, iss formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/json2po =========== 91s 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] 91s 91s Convert JSON files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in json format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in json format 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 91s everything) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/md2po =========== 91s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 91s 91s Convert Markdown files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in markdown, md, text, txt formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s --multifile=MULTIFILESTYLE 91s how to split po/pot files (single, toplevel or 91s onefile) 92s ========= SMOKE TEST: /usr/bin/moz2po =========== 92s 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] 92s 92s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 92s See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in *, dtd, inc, ini, it, js, lang, 92s manifest, properties, rdf formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 92s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 92s lang.pot, manifest, properties.po, properties.pot, rdf 92s formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 92s manifest, properties, rdf formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 92s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 92s 92s Convert Mozilla .lang files to Gettext PO localization files. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in lang format 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --encoding=ENCODING The encoding of the input file (default: UTF-8) 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s ========= SMOKE TEST: /usr/bin/msghack =========== 92s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 92s This program can be used to alter .po files in ways no sane mind would think about. 92s -o result will be written to FILE 92s --invert invert a po file by switching msgid and msgstr 92s --master join any number of files in a master-formatted catalog 92s --empty empty the contents of the .po file, creating a .pot 92s --append append entries from ref.po that don't exist in file.po 92s 92s Note: It is just a replacement of msghack for backward support. 92s 92s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 92s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert OpenDocument (ODF) files to XLIFF localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 92s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 92s formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in xlf, xliff formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s ========= SMOKE TEST: /usr/bin/oo2po =========== 92s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 92s 92s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 92s files. See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in oo, sdf formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s -l LANG, --language=LANG 92s set target language to extract from oo file (e.g. af- 92s ZA) 92s --source-language=LANG 92s set source language code (default en-US) 92s --nonrecursiveinput don't treat the input oo as a recursive store 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s --multifile=MULTIFILESTYLE 92s how to split po/pot files (single, toplevel or 92s onefile) 92s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 92s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 92s files. See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in oo, sdf formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in xlf, xliff formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -l LANG, --language=LANG 92s set target language to extract from oo file (e.g. af- 92s ZA) 92s --source-language=LANG 92s set source language code (default en-US) 92s --nonrecursiveinput don't treat the input oo as a recursive store 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s --multifile=MULTIFILESTYLE 92s how to split po/pot files (single, toplevel or 92s onefile) 92s ========= SMOKE TEST: /usr/bin/php2po =========== 92s 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] 92s 92s Convert PHP localization files to Gettext PO localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in html, php formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in html, php formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 92s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert PHP format .po files to Python format .po files. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s ========= SMOKE TEST: /usr/bin/po2csv =========== 93s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 93s 93s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 93s See: http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in csv format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --columnorder=COLUMNORDER 93s specify the order and position of columns 93s (location,source,target,context) 93s ========= SMOKE TEST: /usr/bin/po2dtd =========== 93s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 93s Conversion is either done using a template plus PO file or just using the 93s .po file. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in dtd format 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in dtd format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s --removeuntranslated remove untranslated strings from output 93s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 93s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Convert Gettext PO localization files to flat XML files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/flatxml2po.html for examples and usage 93s instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in xml format 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in xml format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s -r ROOT, --root=ROOT name of the XML root element (default: "root") 93s -v VALUE, --value=VALUE 93s name of the XML value element (default: "str") 93s -k KEY, --key=KEY name of the XML key attribute (default: "key") 93s -n NS, --namespace=NS 93s XML namespace uri (default: None) 93s -w INDENT, --indent=INDENT 93s indent width in spaces, 0 for no indent (default: 2) 93s ========= SMOKE TEST: /usr/bin/po2html =========== 93s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Translate HTML files using Gettext PO localization files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in htm, html, xhtml formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in htm, html, xhtml formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s ========= SMOKE TEST: /usr/bin/po2ical =========== 93s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Convert Gettext PO localization files to iCalendar files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in ics format 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in ics format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s ========= SMOKE TEST: /usr/bin/po2idml =========== 93s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Takes an IDML template file and a PO file containing translations of strings 93s in the IDML template. It creates a new IDML file using the translations of the 93s PO file. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in idml format 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in idml format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s ========= SMOKE TEST: /usr/bin/po2ini =========== 93s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Convert Gettext PO localization files to .ini files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in ini, isl formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in ini, isl formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s ========= SMOKE TEST: /usr/bin/po2json =========== 93s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Convert Gettext PO localization files to JSON files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in json format 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in json format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s --removeuntranslated remove untranslated strings from output 93s ========= SMOKE TEST: /usr/bin/po2md =========== 94s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Translate Markdown files using Gettext PO localization files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in markdown, md, text, txt formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in markdown, md, text, txt formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -m MAXLENGTH, --maxlinelength=MAXLENGTH 94s reflow (word wrap) the output to the given maximum 94s line length. set to 0 to disable 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s ========= SMOKE TEST: /usr/bin/po2moz =========== 94s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 94s See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in *, dtd.po, dtd.pot, inc.po, 94s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 94s lang.pot, manifest, properties.po, properties.pot, rdf 94s formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 94s manifest, properties, rdf formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 94s manifest, properties, rdf formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -l LOCALE, --locale=LOCALE 94s set output locale (required as this sets the directory 94s names) 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s --removeuntranslated remove untranslated strings from output 94s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 94s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to Mozilla .lang files. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in lang format 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in lang format 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s --mark-active mark the file as active 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s ========= SMOKE TEST: /usr/bin/po2oo =========== 94s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 94s file. See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot, xlf, xliff formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in oo, sdf formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in oo, sdf formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -l LANG, --language=LANG 94s set target language code (e.g. af-ZA) [required] 94s --source-language=LANG 94s set source language code (default en-US) 94s -T, --keeptimestamp don't change the timestamps of the strings 94s --nonrecursiveoutput don't treat the output oo as a recursive store 94s --nonrecursivetemplate 94s don't treat the template oo as a recursive store 94s --skipsource don't output the source language, but fallback to it 94s where needed 94s --filteraction=ACTION 94s action on pofilter failure: none (default), warn, 94s exclude-serious, exclude-all 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s --multifile=MULTIFILESTYLE 94s how to split po/pot files (single, toplevel or 94s onefile) 94s ========= SMOKE TEST: /usr/bin/po2php =========== 95s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to PHP localization files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in html, php formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in html, php formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2prop =========== 95s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to Java/Mozilla .properties files. 95s See: http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in lang, properties, strings formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in lang, properties, strings 95s formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --personality=TYPE override the input file format: java, java-utf8, java- 95s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 95s strings, strings-utf8, joomla (for .properties files, 95s default: java) 95s --encoding=ENCODING override the encoding set by the personality 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s --removeuntranslated remove untranslated strings from output 95s ========= SMOKE TEST: /usr/bin/po2rc =========== 95s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files back to Windows Resource (.rc) files. 95s See: http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in rc format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in rc format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 95s -l LANG, --lang=LANG LANG entry 95s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2resx =========== 95s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in resx format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in resx format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2sub =========== 95s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to subtitle files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in ass, srt, ssa, sub formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in ass, srt, ssa, sub formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2symb =========== 95s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to Symbian translation files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in r0 format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 95s ========= SMOKE TEST: /usr/bin/po2tiki =========== 95s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 95s 95s Convert Gettext PO files to TikiWiki's language.php files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in tiki format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s ========= SMOKE TEST: /usr/bin/po2tmx =========== 95s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 95s 95s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 95s file. See: http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in tmx format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -l LANG, --language=LANG 95s set target language code (e.g. af-ZA) [required] 95s --source-language=LANG 95s set source language code (default: en) 95s --comments=COMMENT set default comment import: none, source, type or 95s others (default: none) 96s ========= SMOKE TEST: /usr/bin/po2ts =========== 96s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 96s 96s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in ts format 96s -t TEMPLATE, --template=TEMPLATE 96s read from TEMPLATE in ts format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s -c CONTEXT, --context=CONTEXT 96s use supplied context instead of the one in the .po 96s file comment 96s ========= SMOKE TEST: /usr/bin/po2txt =========== 96s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 96s 96s Convert Gettext PO localization files to plain text (.txt) files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot, xlf, xliff formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in txt format 96s -t TEMPLATE, --template=TEMPLATE 96s read from TEMPLATE in txt format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s --encoding=ENCODING The encoding of the template file (default: UTF-8) 96s -w WRAP, --wrap=WRAP set number of columns to wrap text at 96s --threshold=PERCENT only convert files where the translation completion is 96s above PERCENT 96s --fuzzy use translations marked fuzzy 96s --nofuzzy don't use translations marked fuzzy (default) 96s ========= SMOKE TEST: /usr/bin/po2web2py =========== 96s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in py format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s --threshold=PERCENT only convert files where the translation completion is 96s above PERCENT 96s --fuzzy use translations marked fuzzy 96s --nofuzzy don't use translations marked fuzzy (default) 96s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 96s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Convert Gettext PO localization files to a Wordfast translation memory file. 96s See: http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/po2wordfast.html for examples and usage 96s instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in txt format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s -l LANG, --language=LANG 96s set target language code (e.g. af-ZA) [required] 96s --source-language=LANG 96s set source language code (default: en) 96s ========= SMOKE TEST: /usr/bin/po2xliff =========== 96s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 96s 96s Convert Gettext PO localization files to XLIFF localization files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in xlf, xliff formats 96s -t TEMPLATE, --template=TEMPLATE 96s read from TEMPLATE in xlf, xliff formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s ========= SMOKE TEST: /usr/bin/po2yaml =========== 96s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 96s 96s Convert Gettext PO localization files to YAML files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in yaml, yml formats 96s -t TEMPLATE, --template=TEMPLATE 96s read from TEMPLATE in yaml, yml formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s --threshold=PERCENT only convert files where the translation completion is 96s above PERCENT 96s --fuzzy use translations marked fuzzy 96s --nofuzzy don't use translations marked fuzzy (default) 96s ========= SMOKE TEST: /usr/bin/poclean =========== 96s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 96s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 96s produces the target file with only the target text in from a text version of 96s the RTF. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot, xlf, xliff formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in po, pot, xlf, xliff formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s ========= SMOKE TEST: /usr/bin/pocompendium =========== 96s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 96s The first parameter is the output file, standard output if the output file is '-'. 96s Any number of directories may be specified for input files. 96s Options: 96s --invert|v Creates an inverse compendium with msgid and msgstr swapped 96s --errors|e Only ouput msg bundles that have errors 96s --correct|c Only ouput msg bundles that are correctly translated 96s --ignore-case|i Drops all strings to lowercase 96s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 96s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 96s --strip-accel-under|-su Strip all underscore (_) accelerator characters 96s ========= SMOKE TEST: /usr/bin/pocompile =========== 96s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 96s Object) files. See: http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot, xlf, xliff formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in mo format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s --fuzzy use translations marked fuzzy 96s --nofuzzy don't use translations marked fuzzy (default) 96s ========= SMOKE TEST: /usr/bin/poconflicts =========== 96s 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] 96s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 96s 96s Conflict finder for Gettext PO localization files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/poconflicts.html for examples and usage 96s instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po format 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in po format 96s -I, --ignore-case ignore case distinctions 96s -v, --invert invert the conflicts thus extracting conflicting 96s destination words 96s --accelerator=ACCELERATORS 96s ignores the given accelerator characters when matching 97s ========= SMOKE TEST: /usr/bin/pocount =========== 97s usage: pocount [-h] [--incomplete] 97s [--full | --csv | --short | --short-strings | --short-words] 97s [--no-color] 97s files [files ...] 97s 97s positional arguments: 97s files 97s 97s options: 97s -h, --help show this help message and exit 97s --incomplete skip 100% translated files. 97s 97s Output format: 97s --full (default) statistics in full, verbose format 97s --csv statistics in CSV format 97s --short same as --short-strings 97s --short-strings statistics of strings in short format - one line per file 97s --short-words statistics of words in short format - one line per file 97s --no-color show output without color 97s ========= SMOKE TEST: /usr/bin/podebug =========== 97s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 97s 97s Insert debug messages into XLIFF and Gettext PO localization files. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, pot, tmx, xlf, xliff 97s formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, tmx, xlf, xliff formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s -f FORMAT, --format=FORMAT 97s specify format string 97s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 97s classified, en, flipped, unicode, xxx 97s --ignore=APPLICATION apply tagging ignore rules for the given application: 97s gtk, kde, libreoffice, mozilla, openoffice 97s --preserveplaceholders 97s attempt to exclude characters that are part of 97s placeholders when performing character-level rewrites 97s so that consuming applications can still use the 97s placeholders to generate final output 97s ========= SMOKE TEST: /usr/bin/pofilter =========== 97s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 97s 97s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 97s Snippet files are created whenever a test fails. These can be examined, 97s corrected and merged back into the originals using pomerge. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 97s and http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 97s tests. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, tmx, xlf, xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, tmx, xlf, xliff formats 97s -l, --listfilters list filters available 97s --review include units marked for review (default) 97s --noreview exclude units marked for review 97s --fuzzy include units marked fuzzy (default) 97s --nofuzzy exclude units marked fuzzy 97s --nonotes don't add notes about the errors 97s --autocorrect output automatic corrections where possible rather 97s than describing issues 97s --language=LANG set target language code (e.g. af-ZA) [required for 97s spell check and recommended in general] 97s --openoffice use the standard checks for OpenOffice translations 97s --libreoffice use the standard checks for LibreOffice translations 97s --mozilla use the standard checks for Mozilla translations 97s --drupal use the standard checks for Drupal translations 97s --gnome use the standard checks for Gnome translations 97s --kde use the standard checks for KDE translations 97s --wx use the standard checks for wxWidgets translations 97s --excludefilter=FILTER 97s don't use FILTER when filtering 97s -t FILTER, --test=FILTER 97s only use test FILTERs specified with this option when 97s filtering 97s --notranslatefile=FILE 97s read list of untranslatable words from FILE (must not 97s be translated) 97s --musttranslatefile=FILE 97s read list of translatable words from FILE (must be 97s translated) 97s --validcharsfile=FILE 97s read list of all valid characters from FILE (must be 97s in UTF-8) 97s ========= SMOKE TEST: /usr/bin/pogrep =========== 97s 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] 97s 97s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 97s snippet files of the same type which can then be reviewed and later merged 97s using :doc:`pomerge `. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 97s xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 97s xliff formats 97s --search=SEARCHPARTS searches the given parts (source, target, notes and 97s locations) 97s -I, --ignore-case ignore case distinctions 97s -e, --regexp use regular expression matching 97s -v, --invert-match select non-matching lines 97s --accelerator=ACCELERATOR 97s ignores the given accelerator when matching 97s -k, --keep-translations 97s always extract units with translations 97s ========= SMOKE TEST: /usr/bin/pomerge =========== 97s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 97s 97s Merges XLIFF and Gettext PO localization files. Snippet file produced by 97s e.g. :doc:`pogrep ` and updated by a translator can be 97s merged back into the original files. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, pot, xlf, xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, pot, xlf, xliff formats 97s -t TEMPLATE, --template=TEMPLATE 97s read from TEMPLATE in po, pot, pot, xlf, xliff formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s --mergeblanks=MERGEBLANKS 97s whether to overwrite existing translations with blank 97s translations (yes/no). Default is yes. 97s --mergefuzzy=MERGEFUZZY 97s whether to consider fuzzy translations from input 97s (yes/no). Default is yes. 97s --mergecomments=MERGECOMMENTS 97s whether to merge comments as well as translations 97s (yes/no). Default is yes. 97s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 97s Usage pomigrate2 [options] 97s 97s Options: 97s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 97s -C|--use-compendium - create and use a compendium built from the migrating files 97s -C|--use-compendium=some-compendium.po 97s - use an external compendium during the migration 97s --no-wrap - do not wrap long lines 97s --locale=lang - set locale for newly born files 97s -q|--quiet - suppress most output 97s -p|--pot2po - use pot2po instead of msgmerge to migrate 97s ========= SMOKE TEST: /usr/bin/popuretext =========== 97s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 97s ========= SMOKE TEST: /usr/bin/poreencode =========== 97s Usage: poreencode 97s eg: poreencode UTF-8 af/ 97s ========= SMOKE TEST: /usr/bin/porestructure =========== 97s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 97s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 97s 97s Restructure Gettxt PO files produced by :doc:`poconflicts 97s ` into the original directory tree for merging using 97s :doc:`pomerge `. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po format 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po format 97s ========= SMOKE TEST: /usr/bin/posegment =========== 97s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 97s 97s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 97s See: http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, tmx, xlf, xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, tmx, xlf, xliff formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s -P, --pot output PO Templates (.pot) rather than PO files (.po) 97s -l LANG, --language=LANG 97s the target language code 97s --source-language=LANG 97s the source language code (default 'en') 97s --keepspaces Disable automatic stripping of whitespace 97s --only-aligned Removes units where sentence number does not 97s correspond 97s ========= SMOKE TEST: /usr/bin/poswap =========== 97s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 97s 97s Builds a new translation file with the target of the input language as source 97s language. .. note:: Ensure that the two po files correspond 100% to the same 97s pot file before using this. To translate Kurdish (ku) through French:: 97s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 97s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot formats 97s -t TEMPLATE, --template=TEMPLATE 97s read from TEMPLATE in po, pot, pot formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s --reverse reverse the process of intermediate language 97s conversion 97s ========= SMOKE TEST: /usr/bin/pot2po =========== 98s 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] 98s 98s Convert template files (like .pot or template .xlf files) to translation 98s files, preserving existing translations. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 98s formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 98s xliff formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 98s xliff formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --tm=TM The file to use as translation memory when fuzzy 98s matching 98s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 98s The minimum similarity for inclusion (default: 75%) 98s --nofuzzymatching Disable fuzzy matching 98s ========= SMOKE TEST: /usr/bin/poterminology =========== 98s 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] 98s input directory is searched for PO files, terminology PO file is output file 98s 98s Create a terminology file by reading a set of .po or .pot files to produce a 98s pootle-terminology.pot. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/poterminology.html for examples and usage 98s instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in po, pot formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -u UPDATEFILE, --update=UPDATEFILE 98s update terminology in UPDATEFILE 98s -S STOPFILE, --stopword-list=STOPFILE 98s read stopword (term exclusion) list from STOPFILE 98s (default /usr/share/pyshared/translate/share/stoplist- 98s en) 98s -F, --fold-titlecase fold "Title Case" to lowercase (default) 98s -C, --preserve-case preserve all uppercase/lowercase 98s -I, --ignore-case make all terms lowercase 98s --accelerator=ACCELERATORS 98s ignore the given accelerator characters when matching 98s -t LENGTH, --term-words=LENGTH 98s generate terms of up to LENGTH words (default 3) 98s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 98s 1) 98s --inputs-needed=MIN omit terms appearing in less than MIN input files 98s (default 2, or 1 if only one input file) 98s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 98s different messages (default 1) 98s --substr-needed=MIN omit substring-only terms appearing in less than MIN 98s different messages (default 2) 98s --locs-needed=MIN omit terms appearing in less than MIN different 98s original source files (default 2) 98s --sort=ORDER output sort order(s): frequency, dictionary, length 98s (may repeat option, default is all in above order) 98s --source-language=LANG 98s the source language code (default 'en') 98s -v, --invert invert the source and target languages for terminology 98s ========= SMOKE TEST: /usr/bin/pretranslate =========== 98s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 98s 98s Fill localization files with suggested translations based on translation 98s memory and existing translations. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/pretranslate.html for examples and usage 98s instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in po, pot, pot, xlf, xliff formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot, xlf, xliff formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in po, pot, xlf, xliff formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s --tm=TM The file to use as translation memory when fuzzy 98s matching 98s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 98s The minimum similarity for inclusion (default: 75%) 98s --nofuzzymatching Disable fuzzy matching 98s ========= SMOKE TEST: /usr/bin/prop2po =========== 98s 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] 98s 98s Convert Java/Mozilla .properties files to Gettext PO localization files. 98s See: http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in lang, properties, strings formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in lang, properties, strings 98s formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --personality=TYPE override the input file format: java, java-utf8, java- 98s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 98s strings, strings-utf8, joomla (for .properties files, 98s default: java) 98s --encoding=ENCODING override the encoding set by the personality 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 98s ========= SMOKE TEST: /usr/bin/pydiff =========== 98s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 98s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 98s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 98s fromfile tofile 98s 98s positional arguments: 98s fromfile 98s tofile 98s 98s options: 98s -h, --help show this help message and exit 98s -i, --ignore-case Ignore case differences in file contents. 98s -U NUM, --unified NUM 98s Output NUM (default 3) lines of unified context 98s -r, --recursive Recursively compare any subdirectories found. 98s -N, --new-file Treat absent files as empty. 98s --unidirectional-new-file 98s Treat absent first files as empty. 98s -s, --report-identical-files 98s Report when two files are the same. 98s -x PAT, --exclude PAT 98s Exclude files that match PAT. 98s --fromcontains TEXT Only show changes where fromfile contains TEXT 98s --tocontains TEXT Only show changes where tofile contains TEXT 98s --contains TEXT Only show changes where fromfile or tofile contains 98s TEXT 98s -I, --ignore-case-contains 98s Ignore case differences when matching any of the 98s changes 98s --accelerator ACCELERATORS 98s ignores the given accelerator characters when matching 98s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 98s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 98s 98s Convert Python format .po files to PHP format .po files. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in po, pot formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s ========= SMOKE TEST: /usr/bin/rc2po =========== 98s 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] 98s 98s Convert Windows RC files to Gettext PO localization files. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in nls, rc formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in nls, rc formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --charset=CHARSET charset to use to decode the RC files (autodetection 98s is used by default) 98s -l LANG, --lang=LANG LANG entry (default: None) 98s --sublang=SUBLANG SUBLANG entry (default: None) 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 98s ========= SMOKE TEST: /usr/bin/resx2po =========== 98s 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] 98s 98s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in resx format 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in resx format 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 98s everything) 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 99s ========= SMOKE TEST: /usr/bin/sub2po =========== 99s 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] 99s 99s Convert subtitle files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in ass, srt, ssa, sub formats 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -t TEMPLATE, --template=TEMPLATE 99s read from TEMPLATE in ass, srt, ssa, sub formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s -P, --pot output PO Templates (.pot) rather than PO files (.po) 99s --duplicates=DUPLICATESTYLE 99s what to do with duplicate strings (identical source 99s text): merge, msgctxt (default: 'msgctxt') 99s ========= SMOKE TEST: /usr/bin/symb2po =========== 99s 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] 99s 99s Convert Symbian localisation files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in r01 format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -t TEMPLATE, --template=TEMPLATE 99s read from TEMPLATE in 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s -P, --pot output PO Templates (.pot) rather than PO files (.po) 99s --duplicates=DUPLICATESTYLE 99s what to do with duplicate strings (identical source 99s text): merge, msgctxt (default: 'msgctxt') 99s ========= SMOKE TEST: /usr/bin/tbx2po =========== 99s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 99s 99s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in tbx format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s ========= SMOKE TEST: /usr/bin/tiki2po =========== 99s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 99s 99s Convert TikiWiki's language.php files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in php format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s --include-unused Include strings in the unused section 99s ========= SMOKE TEST: /usr/bin/tmserver =========== 99s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 99s [-s SOURCE_LANG] [-b BIND] [-p PORT] 99s [--max-candidates MAX_CANDIDATES] 99s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 99s [--debug] 99s 99s options: 99s -h, --help show this help message and exit 99s -d TMDBFILE, --tmdb TMDBFILE 99s translation memory database file 99s -f TMFILES, --import-translation-file TMFILES 99s translation file to import into the database 99s -t TARGET_LANG, --import-target-lang TARGET_LANG 99s target language of translation files 99s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 99s source language of translation files 99s -b BIND, --bind BIND address to bind server to (default: localhost) 99s -p PORT, --port PORT port to listen on (default: 8888) 99s --max-candidates MAX_CANDIDATES 99s Maximum number of candidates 99s --min-similarity MIN_SIMILARITY 99s minimum similarity 99s --max-length MAX_LENGTH 99s Maxmimum string length 99s --debug enable debugging features 99s ========= SMOKE TEST: /usr/bin/ts2po =========== 99s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 99s 99s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in ts format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s -P, --pot output PO Templates (.pot) rather than PO files (.po) 99s --duplicates=DUPLICATESTYLE 99s what to do with duplicate strings (identical source 99s text): merge, msgctxt (default: 'msgctxt') 99s ========= SMOKE TEST: /usr/bin/txt2po =========== 99s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 99s 99s Convert plain text (.txt) files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in *, txt formats 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s -P, --pot output PO Templates (.pot) rather than PO files (.po) 99s --encoding=ENCODING The encoding of the input file (default: UTF-8) 99s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 99s mediawiki 99s --no-segmentation Don't segment the file, treat it like a single message 99s --duplicates=DUPLICATESTYLE 99s what to do with duplicate strings (identical source 99s text): merge, msgctxt (default: 'msgctxt') 99s ========= SMOKE TEST: /usr/bin/web2py2po =========== 99s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 99s 99s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in py format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s -P, --pot output PO Templates (.pot) rather than PO files (.po) 99s --duplicates=DUPLICATESTYLE 99s what to do with duplicate strings (identical source 99s text): merge, msgctxt (default: 'msgctxt') 100s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 100s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 100s 100s Convert XLIFF translation files to OpenDocument (ODF) files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in xlf format 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 100s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 100s -t TEMPLATE, --template=TEMPLATE 100s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 100s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 100s formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 100s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 100s 100s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 100s file. See: http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in po, pot, xlf, xliff formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in oo, sdf formats 100s -t TEMPLATE, --template=TEMPLATE 100s read from TEMPLATE in oo, sdf formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -l LANG, --language=LANG 100s set target language code (e.g. af-ZA) [required] 100s --source-language=LANG 100s set source language code (default en-US) 100s -T, --keeptimestamp don't change the timestamps of the strings 100s --nonrecursiveoutput don't treat the output oo as a recursive store 100s --nonrecursivetemplate 100s don't treat the template oo as a recursive store 100s --skipsource don't output the source language, but fallback to it 100s where needed 100s --filteraction=ACTION 100s action on pofilter failure: none (default), warn, 100s exclude-serious, exclude-all 100s --fuzzy use translations marked fuzzy 100s --nofuzzy don't use translations marked fuzzy (default) 100s --multifile=MULTIFILESTYLE 100s how to split po/pot files (single, toplevel or 100s onefile) 100s ========= SMOKE TEST: /usr/bin/xliff2po =========== 100s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 100s 100s Convert XLIFF localization files to Gettext PO localization files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in xlf, xliff formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s ========= SMOKE TEST: /usr/bin/yaml2po =========== 100s 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] 100s 100s Convert YAML files to Gettext PO localization files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in yaml, yml formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -t TEMPLATE, --template=TEMPLATE 100s read from TEMPLATE in yaml, yml formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s autopkgtest [00:19:43]: test translate-toolkit: -----------------------] 101s translate-toolkit PASS 101s autopkgtest [00:19:44]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 101s autopkgtest [00:19:44]: test python3-translate: preparing testbed 184s autopkgtest [00:21:07]: testbed dpkg architecture: s390x 184s autopkgtest [00:21:07]: testbed apt version: 2.9.6 184s autopkgtest [00:21:07]: @@@@@@@@@@@@@@@@@@@@ test bed setup 185s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 186s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [378 kB] 186s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 186s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [2576 B] 186s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.1 kB] 186s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [92.9 kB] 186s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x c-n-f Metadata [2112 B] 186s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1368 B] 186s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x c-n-f Metadata [120 B] 186s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [418 kB] 186s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x c-n-f Metadata [8372 B] 186s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [1448 B] 186s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x c-n-f Metadata [120 B] 186s Fetched 1088 kB in 1s (1515 kB/s) 186s Reading package lists... 188s Reading package lists... 188s Building dependency tree... 188s Reading state information... 188s Calculating upgrade... 188s The following packages will be upgraded: 188s libdw1t64 libelf1t64 python3-pkg-resources python3-setuptools 189s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 189s Need to get 969 kB of archives. 189s After this operation, 464 kB of additional disk space will be used. 189s Get:1 http://ftpmaster.internal/ubuntu oracular/main s390x libdw1t64 s390x 0.191-2 [285 kB] 189s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x libelf1t64 s390x 0.191-2 [68.6 kB] 189s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-setuptools all 70.3.0-2 [429 kB] 189s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-pkg-resources all 70.3.0-2 [187 kB] 189s Fetched 969 kB in 1s (1743 kB/s) 189s (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 ... 54720 files and directories currently installed.) 189s Preparing to unpack .../libdw1t64_0.191-2_s390x.deb ... 189s Unpacking libdw1t64:s390x (0.191-2) over (0.191-1) ... 189s Preparing to unpack .../libelf1t64_0.191-2_s390x.deb ... 189s Unpacking libelf1t64:s390x (0.191-2) over (0.191-1) ... 189s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 189s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 190s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 190s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 190s Setting up python3-pkg-resources (70.3.0-2) ... 190s Setting up python3-setuptools (70.3.0-2) ... 190s Setting up libelf1t64:s390x (0.191-2) ... 190s Setting up libdw1t64:s390x (0.191-2) ... 190s Processing triggers for libc-bin (2.39-0ubuntu9) ... 191s Reading package lists... 191s Building dependency tree... 191s Reading state information... 191s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 191s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 192s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 192s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 192s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 192s Reading package lists... 192s Reading package lists... 193s Building dependency tree... 193s Reading state information... 193s Calculating upgrade... 193s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 193s Reading package lists... 193s Building dependency tree... 193s Reading state information... 193s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 197s Reading package lists... 197s Building dependency tree... 197s Reading state information... 197s Starting pkgProblemResolver with broken count: 0 197s Starting 2 pkgProblemResolver with broken count: 0 197s Done 197s The following additional packages will be installed: 197s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 197s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 197s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 197s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 197s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 197s python3-iniconfig python3-iniparse python3-jaraco.functools 197s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 197s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 197s python3-pytest python3-rapidfuzz python3-ruamel.yaml 197s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 197s python3-translate python3-vobject python3-xapian subversion 197s Suggested packages: 197s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 197s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 197s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 197s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 197s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 197s subversion-tools 197s Recommended packages: 197s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 197s python3-cssselect python3-html5lib python3-tz 197s The following NEW packages will be installed: 197s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 197s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 197s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 197s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 197s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 197s python3-iniconfig python3-iniparse python3-jaraco.functools 197s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 197s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 197s python3-pytest python3-rapidfuzz python3-ruamel.yaml 197s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 197s python3-translate python3-vobject python3-xapian subversion 197s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 197s Need to get 11.3 MB/11.3 MB of archives. 197s After this operation, 48.1 MB of additional disk space will be used. 197s Get:1 /tmp/autopkgtest.qEZAl4/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [888 B] 198s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 198s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 198s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14.1.0-1ubuntu1 [151 kB] 198s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.22.5-1 [989 kB] 198s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 198s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.2 [113 kB] 198s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-2ubuntu1 [97.9 kB] 198s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 198s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 198s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 198s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 198s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 198s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 198s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-2 [1363 kB] 198s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 198s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 198s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.15-1 [231 kB] 198s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-all s390x 3.12.3-0ubuntu1 [890 B] 198s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 198s Get:21 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 198s Get:22 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-charset-normalizer all 3.3.2-1 [47.9 kB] 198s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-more-itertools all 10.3.0-1 [54.9 kB] 198s Get:24 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 198s Get:25 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 198s Get:26 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 198s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 198s Get:28 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 198s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 198s Get:30 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.6.2+ds-3 [1484 kB] 198s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 198s Get:32 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.2-1 [1297 kB] 198s Get:33 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 198s Get:34 http://ftpmaster.internal/ubuntu oracular/main s390x python3-packaging all 24.1-1 [41.4 kB] 198s Get:35 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 198s Get:36 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 198s Get:37 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 198s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pytest all 7.4.4-1 [305 kB] 198s Get:39 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1build1 [142 kB] 198s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 198s Get:41 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 198s Get:42 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 198s Get:43 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.13.1-1 [319 kB] 198s Get:44 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 198s Get:45 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-xapian s390x 1.4.22-1build5 [366 kB] 199s Get:46 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-2 [909 kB] 199s Get:47 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 199s Get:48 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 199s Preconfiguring packages ... 199s Fetched 11.3 MB in 1s (9692 kB/s) 199s Selecting previously unselected package emacsen-common. 199s (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 ... 54780 files and directories currently installed.) 199s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 199s Unpacking emacsen-common (3.0.5) ... 199s Selecting previously unselected package dictionaries-common. 199s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 199s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 199s Unpacking dictionaries-common (1.29.7) ... 199s Selecting previously unselected package libgomp1:s390x. 199s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_s390x.deb ... 199s Unpacking libgomp1:s390x (14.1.0-1ubuntu1) ... 199s Selecting previously unselected package gettext. 199s Preparing to unpack .../03-gettext_0.22.5-1_s390x.deb ... 199s Unpacking gettext (0.22.5-1) ... 199s Selecting previously unselected package hunspell-en-us. 199s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 199s Unpacking hunspell-en-us (1:2020.12.07-2) ... 199s Selecting previously unselected package libapr1t64:s390x. 199s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_s390x.deb ... 199s Unpacking libapr1t64:s390x (1.7.2-3.2) ... 199s Selecting previously unselected package libaprutil1t64:s390x. 199s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_s390x.deb ... 199s Unpacking libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 199s Selecting previously unselected package libaspell15:s390x. 199s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 199s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 199s Selecting previously unselected package libhunspell-1.7-0:s390x. 199s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 199s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 199s Selecting previously unselected package libenchant-2-2:s390x. 199s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 199s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 199s Selecting previously unselected package libexttextcat-data. 199s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 199s Unpacking libexttextcat-data (3.4.7-1build1) ... 199s Selecting previously unselected package libserf-1-1:s390x. 199s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 199s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 199s Selecting previously unselected package libutf8proc3:s390x. 199s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 199s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 199s Selecting previously unselected package libsvn1:s390x. 199s Preparing to unpack .../13-libsvn1_1.14.3-2_s390x.deb ... 199s Unpacking libsvn1:s390x (1.14.3-2) ... 199s Selecting previously unselected package libxapian30:s390x. 199s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 199s Unpacking libxapian30:s390x (1.4.22-1build1) ... 199s Selecting previously unselected package libxslt1.1:s390x. 199s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 199s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 199s Selecting previously unselected package python3-aeidon. 199s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 199s Unpacking python3-aeidon (1.15-1) ... 199s Selecting previously unselected package python3-all. 199s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_s390x.deb ... 199s Unpacking python3-all (3.12.3-0ubuntu1) ... 199s Selecting previously unselected package python3-soupsieve. 199s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 199s Unpacking python3-soupsieve (2.5-1) ... 199s Selecting previously unselected package python3-bs4. 199s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 199s Unpacking python3-bs4 (4.12.3-1) ... 199s Selecting previously unselected package python3-charset-normalizer. 199s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 199s Unpacking python3-charset-normalizer (3.3.2-1) ... 199s Selecting previously unselected package python3-more-itertools. 199s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 199s Unpacking python3-more-itertools (10.3.0-1) ... 199s Selecting previously unselected package python3-jaraco.functools. 199s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 199s Unpacking python3-jaraco.functools (4.0.0-1) ... 199s Selecting previously unselected package python3-cheroot. 199s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 199s Unpacking python3-cheroot (10.0.0+ds1-2) ... 199s Selecting previously unselected package python3-dateutil. 199s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 199s Unpacking python3-dateutil (2.9.0-2) ... 199s Selecting previously unselected package python3-diff-match-patch. 199s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 199s Unpacking python3-diff-match-patch (20230430-1) ... 199s Selecting previously unselected package python3-enchant. 199s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 199s Unpacking python3-enchant (3.2.2-1) ... 199s Selecting previously unselected package python3-iniconfig. 199s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 199s Unpacking python3-iniconfig (1.1.1-2) ... 199s Selecting previously unselected package python3-rapidfuzz. 199s Preparing to unpack .../28-python3-rapidfuzz_3.6.2+ds-3_s390x.deb ... 199s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 200s Selecting previously unselected package python3-levenshtein. 200s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_s390x.deb ... 200s Unpacking python3-levenshtein (0.25.1-3) ... 200s Selecting previously unselected package python3-lxml:s390x. 200s Preparing to unpack .../30-python3-lxml_5.2.2-1_s390x.deb ... 200s Unpacking python3-lxml:s390x (5.2.2-1) ... 200s Selecting previously unselected package python3-mistletoe. 200s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 200s Unpacking python3-mistletoe (1.3.0-1) ... 200s Selecting previously unselected package python3-packaging. 200s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 200s Unpacking python3-packaging (24.1-1) ... 200s Selecting previously unselected package python3-ply. 200s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 200s Unpacking python3-ply (3.11-6) ... 200s Selecting previously unselected package python3-phply. 200s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 200s Unpacking python3-phply (1.2.6-1) ... 200s Selecting previously unselected package python3-pluggy. 200s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 200s Unpacking python3-pluggy (1.5.0-1) ... 200s Selecting previously unselected package python3-pytest. 200s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 200s Unpacking python3-pytest (7.4.4-1) ... 200s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 200s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_s390x.deb ... 200s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 200s Selecting previously unselected package python3-ruamel.yaml. 200s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 200s Unpacking python3-ruamel.yaml (0.17.21-1) ... 200s Selecting previously unselected package python3-simplejson. 200s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_s390x.deb ... 200s Unpacking python3-simplejson (3.19.2-1build2) ... 200s Selecting previously unselected package python3-syrupy. 200s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 200s Unpacking python3-syrupy (4.6.1-1) ... 200s Selecting previously unselected package python3-translate. 200s Preparing to unpack .../41-python3-translate_3.13.1-1_all.deb ... 200s Unpacking python3-translate (3.13.1-1) ... 200s Selecting previously unselected package python3-vobject. 200s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 200s Unpacking python3-vobject (0.9.6.1-2) ... 200s Selecting previously unselected package python3-xapian. 200s Preparing to unpack .../43-python3-xapian_1.4.22-1build5_s390x.deb ... 200s Unpacking python3-xapian (1.4.22-1build5) ... 200s Selecting previously unselected package subversion. 200s Preparing to unpack .../44-subversion_1.14.3-2_s390x.deb ... 200s Unpacking subversion (1.14.3-2) ... 200s Selecting previously unselected package python3-iniparse. 200s Preparing to unpack .../45-python3-iniparse_0.5-2_all.deb ... 200s Unpacking python3-iniparse (0.5-2) ... 200s Selecting previously unselected package python3-pycountry. 200s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 200s Unpacking python3-pycountry (24.6.1+ds1-1) ... 200s Selecting previously unselected package autopkgtest-satdep. 200s Preparing to unpack .../47-2-autopkgtest-satdep.deb ... 200s Unpacking autopkgtest-satdep (0) ... 200s Setting up python3-more-itertools (10.3.0-1) ... 200s Setting up python3-iniconfig (1.1.1-2) ... 200s Setting up libxapian30:s390x (1.4.22-1build1) ... 200s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 201s Setting up python3-diff-match-patch (20230430-1) ... 201s Setting up python3-jaraco.functools (4.0.0-1) ... 201s Setting up python3-aeidon (1.15-1) ... 201s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 201s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 201s Setting up python3-charset-normalizer (3.3.2-1) ... 201s Setting up python3-ply (3.11-6) ... 201s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 201s Setting up python3-all (3.12.3-0ubuntu1) ... 201s Setting up libgomp1:s390x (14.1.0-1ubuntu1) ... 201s Setting up python3-simplejson (3.19.2-1build2) ... 202s Setting up python3-packaging (24.1-1) ... 202s Setting up emacsen-common (3.0.5) ... 202s Setting up python3-cheroot (10.0.0+ds1-2) ... 202s Setting up python3-pycountry (24.6.1+ds1-1) ... 202s Setting up python3-xapian (1.4.22-1build5) ... 202s Setting up python3-pluggy (1.5.0-1) ... 202s Setting up python3-ruamel.yaml (0.17.21-1) ... 203s Setting up python3-mistletoe (1.3.0-1) ... 203s Setting up libexttextcat-data (3.4.7-1build1) ... 203s Setting up libapr1t64:s390x (1.7.2-3.2) ... 203s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 203s Setting up python3-dateutil (2.9.0-2) ... 203s Setting up python3-levenshtein (0.25.1-3) ... 203s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 203s Setting up python3-soupsieve (2.5-1) ... 203s Setting up python3-iniparse (0.5-2) ... 203s Setting up libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 203s Setting up python3-vobject (0.9.6.1-2) ... 203s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 203s patterns['name'] = '[a-zA-Z0-9\-_]+' 203s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 203s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 203s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 203s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 203s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 203s """ 203s Setting up gettext (0.22.5-1) ... 203s Setting up python3-phply (1.2.6-1) ... 204s Setting up dictionaries-common (1.29.7) ... 204s Setting up python3-pytest (7.4.4-1) ... 204s Setting up python3-syrupy (4.6.1-1) ... 205s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 205s Setting up python3-bs4 (4.12.3-1) ... 205s Setting up python3-lxml:s390x (5.2.2-1) ... 205s Setting up hunspell-en-us (1:2020.12.07-2) ... 205s Setting up libsvn1:s390x (1.14.3-2) ... 205s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 205s Setting up subversion (1.14.3-2) ... 205s Setting up python3-enchant (3.2.2-1) ... 205s Setting up python3-translate (3.13.1-1) ... 206s Setting up autopkgtest-satdep (0) ... 206s Processing triggers for man-db (2.12.1-2) ... 206s Processing triggers for install-info (7.1-3build2) ... 206s Processing triggers for libc-bin (2.39-0ubuntu9) ... 206s Processing triggers for dictionaries-common (1.29.7) ... 209s (Reading database ... 58266 files and directories currently installed.) 209s Removing autopkgtest-satdep (0) ... 211s autopkgtest [00:21:34]: test python3-translate: [----------------------- 211s ============================= test session starts ============================== 211s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 211s cachedir: .pytest_cache 211s rootdir: /tmp/autopkgtest.qEZAl4/autopkgtest_tmp 211s plugins: syrupy-4.6.1 216s collecting ... collected 3339 items / 2 skipped 216s 216s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 216s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 216s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 216s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 216s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 216s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 216s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 216s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 216s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 216s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 216s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 216s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 216s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 216s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 216s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 217s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 217s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 217s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 217s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 217s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 217s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 217s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 217s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 217s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 217s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 217s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 217s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 217s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 217s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 217s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 217s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 217s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 217s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 217s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 217s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 217s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 217s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 217s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 217s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 217s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 217s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 217s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 217s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 217s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 217s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 217s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 217s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 217s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 217s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 217s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 217s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 218s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 218s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 218s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 218s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 218s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 218s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 218s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 218s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 218s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 218s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 218s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 218s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 218s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 218s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 218s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 218s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 218s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 218s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 218s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 218s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 218s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 218s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 219s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 219s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 219s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 219s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 219s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 219s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 219s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 219s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 219s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 219s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 219s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 219s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 219s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 219s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 219s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 219s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 219s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 219s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 219s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 219s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 219s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 219s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 219s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 219s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 220s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 220s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 220s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 220s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 220s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 220s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 220s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 220s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 220s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 220s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 220s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 220s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 220s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 220s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 220s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 220s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 220s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 220s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 220s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 220s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 220s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 220s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 220s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 220s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 220s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 220s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 220s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 220s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 220s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 220s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 220s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 220s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 220s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 220s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 220s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 220s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 220s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 220s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 220s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 220s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 220s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 220s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 220s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 220s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 220s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 220s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 220s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 220s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 220s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 220s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 220s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 220s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 220s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 220s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 220s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 220s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 220s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 220s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 220s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 220s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 220s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 220s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 220s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 220s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 220s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 220s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 220s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 220s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 221s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 221s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 221s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 221s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 221s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 221s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 221s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 221s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 221s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 221s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 221s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 221s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 221s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 221s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 221s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 221s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 221s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 221s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 221s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 221s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 221s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 221s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 221s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 221s 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%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 221s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 221s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 221s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 221s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 221s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 221s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 221s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 221s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 221s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 221s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 221s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 221s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 221s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 221s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 222s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 222s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 222s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 222s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 222s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 222s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 222s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 222s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 223s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 223s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 223s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 223s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 223s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 223s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 223s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 223s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 223s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 223s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 223s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 223s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 223s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 223s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 223s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 223s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 223s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 223s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 223s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 223s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 224s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 224s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 224s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 224s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 224s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 224s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 224s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 224s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 224s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 224s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 224s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 224s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 224s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 224s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 224s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 224s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 224s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 224s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 225s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 225s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 225s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 225s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 225s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 225s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 225s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 225s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 225s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 225s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 225s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 225s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 225s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 225s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 225s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 225s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 225s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 225s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 225s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 225s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 225s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 225s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 225s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 225s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 225s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 225s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 225s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 225s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 225s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 225s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 225s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 225s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 225s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 225s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 225s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 225s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 225s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 225s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 225s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 226s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 226s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 226s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 226s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 226s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 226s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 226s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 226s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 226s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 226s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 226s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 226s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 226s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 226s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 226s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 226s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 226s 226s =============================== warnings summary =============================== 226s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 226s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qEZAl4/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 226s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 226s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 226s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 226s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 226s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 226s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 226s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 226s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 226s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 226s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 226s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 226s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 226s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 226s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 226s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 226s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 226s Warning: Could not find accesskey for key.accesskey 226s 226s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 226s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 226s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 226s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 226s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 226s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qEZAl4/autopkgtest_tmp/tests/translate/convert/test.idml'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 226s Warning: unclosed file <_io.BufferedReader name='translation.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 226s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 226s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 226s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 226s Warning: Could not find accesskey for prop.accesskey 226s 226s tests/translate/convert/test_po2tmx.py: 26 warnings 226s tests/translate/filters/test_pofilter.py: 13 warnings 226s tests/translate/storage/test_tbx.py: 17 warnings 226s tests/translate/storage/test_tmx.py: 24 warnings 226s 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' 226s 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 226s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 226s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 226s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 226s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 226s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 226s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 226s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 226s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 226s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 226s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 226s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qEZAl4/autopkgtest_tmp/tests/translate/convert/test.odt'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 226s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 226s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 226s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 226s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 226s Enable tracemalloc to get traceback where the object was allocated. 226s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 226s 226s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 226s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 226s 226s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 226s Warning: DTD file '' does not validate 226s 226s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 226s --------------------------- snapshot report summary ---------------------------- 226s 23 snapshots passed. 226s =========================== short test summary info ============================ 226s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 226s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 226s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 226s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 226s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 226s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 226s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 226s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 226s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 226s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 226s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 226s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 226s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 226s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 226s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 226s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 226s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 226s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 226s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 226s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 226s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 226s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 226s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 226s 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. 226s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 226s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 226s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 226s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 226s 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 226s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 226s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 226s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 226s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 226s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 226s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 226s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 226s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 226s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 226s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 226s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 226s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 226s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 226s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 226s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 226s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 226s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 226s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 226s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 226s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 226s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 226s ========= 3276 passed, 22 skipped, 43 xfailed, 126 warnings in 14.79s ========== 227s autopkgtest [00:21:50]: test python3-translate: -----------------------] 227s autopkgtest [00:21:50]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 227s python3-translate PASS 228s autopkgtest [00:21:51]: test python3-translate-commands: preparing testbed 229s Reading package lists... 229s Building dependency tree... 229s Reading state information... 229s Starting pkgProblemResolver with broken count: 0 229s Starting 2 pkgProblemResolver with broken count: 0 229s Done 229s The following additional packages will be installed: 229s translate-toolkit 229s Recommended packages: 229s translate-toolkit-doc 229s The following NEW packages will be installed: 229s autopkgtest-satdep translate-toolkit 229s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 229s Need to get 81.2 kB/82.1 kB of archives. 229s After this operation, 225 kB of additional disk space will be used. 229s Get:1 /tmp/autopkgtest.qEZAl4/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [896 B] 229s Get:2 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.13.1-1 [81.2 kB] 230s Fetched 81.2 kB in 0s (285 kB/s) 230s Selecting previously unselected package translate-toolkit. 230s (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 ... 58266 files and directories currently installed.) 230s Preparing to unpack .../translate-toolkit_3.13.1-1_all.deb ... 230s Unpacking translate-toolkit (3.13.1-1) ... 230s Selecting previously unselected package autopkgtest-satdep. 230s Preparing to unpack .../3-autopkgtest-satdep.deb ... 230s Unpacking autopkgtest-satdep (0) ... 230s Setting up translate-toolkit (3.13.1-1) ... 230s Setting up autopkgtest-satdep (0) ... 230s Processing triggers for man-db (2.12.1-2) ... 232s (Reading database ... 58436 files and directories currently installed.) 232s Removing autopkgtest-satdep (0) ... 233s autopkgtest [00:21:56]: test python3-translate-commands: [----------------------- 233s ============================= test session starts ============================== 233s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 233s cachedir: .pytest_cache 233s rootdir: /tmp/autopkgtest.qEZAl4/autopkgtest_tmp 233s plugins: syrupy-4.6.1 238s collecting ... collected 3339 items / 2 skipped 238s 238s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 238s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 238s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 238s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 238s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 238s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 238s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 238s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 238s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 238s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 238s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 238s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 238s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 238s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 238s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 238s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 239s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 239s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 239s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 239s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 239s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 239s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 239s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 239s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 239s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 239s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 239s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 239s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 239s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 239s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 239s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 239s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 239s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 239s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 239s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 239s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 239s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 239s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 239s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 239s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 239s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 239s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 239s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 239s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 239s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 239s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 239s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 239s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 239s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 239s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 239s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 239s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 239s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 240s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 240s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 240s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 240s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 240s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 240s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 240s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 240s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 240s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 240s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 240s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 240s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 240s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 240s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 240s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 240s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 240s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 240s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 240s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 240s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 240s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 240s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 240s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 240s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 240s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 240s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 240s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 241s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 241s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 241s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 241s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 241s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 241s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 241s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 241s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 241s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 241s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 241s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 241s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 241s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 241s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 241s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 241s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 241s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 241s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 241s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 241s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 241s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 241s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 241s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 241s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 241s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 241s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 241s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 241s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 241s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 242s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 242s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 242s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 242s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 242s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 242s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 242s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 242s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 242s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 242s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 242s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 242s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 242s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 242s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 242s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 242s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 242s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 242s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 242s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 242s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 242s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 242s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 242s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 242s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 242s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 242s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 242s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 242s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 242s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 242s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 242s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 242s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 242s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 242s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 242s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 242s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 242s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 242s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 242s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 242s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 242s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 242s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 242s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 242s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 242s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 242s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 242s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 242s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 242s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 242s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 242s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 242s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 242s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 242s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 242s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 242s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 242s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 242s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 242s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 242s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 242s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 242s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 242s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 242s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 242s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 242s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 242s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 242s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 242s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 242s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 242s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 242s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 243s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 243s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 243s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 243s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 243s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 243s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 243s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 243s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 243s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 243s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 243s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 243s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 243s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 243s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 243s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 243s 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%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 243s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 243s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 243s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 243s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 243s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 243s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 243s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 243s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 243s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 243s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 243s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 243s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 243s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 243s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 243s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 243s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 243s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 243s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 243s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 243s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 243s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 244s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 244s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 244s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 244s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 244s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 244s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 244s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 245s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 245s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 245s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 245s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 245s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 245s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 245s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 245s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 245s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 245s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 245s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 245s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 245s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 245s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 245s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 245s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 245s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 245s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 245s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 245s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 245s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 245s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 245s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 245s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 245s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 245s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 245s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 246s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 246s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 246s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 247s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 247s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 247s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 247s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 247s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 247s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 247s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 247s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 247s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 247s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 247s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 247s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 247s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 247s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 247s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 247s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 247s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 247s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 247s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 247s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 248s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 248s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 248s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 248s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 248s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 248s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 248s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 248s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 248s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 248s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 248s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 248s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 248s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 248s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 248s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 248s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 248s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 248s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 248s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 248s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 248s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 248s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 248s 248s =============================== warnings summary =============================== 248s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 248s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qEZAl4/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 248s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 248s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 248s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 248s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 248s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 248s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 248s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 248s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 248s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 248s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 248s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 248s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 248s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 248s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 248s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 248s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 248s Warning: Could not find accesskey for key.accesskey 248s 248s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 248s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 248s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 248s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 248s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 248s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qEZAl4/autopkgtest_tmp/tests/translate/convert/test.idml'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 248s Warning: unclosed file <_io.BufferedReader name='translation.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 248s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 248s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 248s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 248s Warning: Could not find accesskey for prop.accesskey 248s 248s tests/translate/convert/test_po2tmx.py: 26 warnings 248s tests/translate/filters/test_pofilter.py: 13 warnings 248s tests/translate/storage/test_tbx.py: 17 warnings 248s tests/translate/storage/test_tmx.py: 24 warnings 248s 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' 248s 248s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 248s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 248s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 248s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 248s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 248s Enable tracemalloc to get traceback where the object was allocated. 248s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 248s 249s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 249s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 249s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 249s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 249s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 249s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 249s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 249s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 249s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 249s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qEZAl4/autopkgtest_tmp/tests/translate/convert/test.odt'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 249s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 249s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 249s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 249s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 249s Enable tracemalloc to get traceback where the object was allocated. 249s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 249s 249s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 249s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 249s 249s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 249s Warning: DTD file '' does not validate 249s 249s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 249s --------------------------- snapshot report summary ---------------------------- 249s 23 snapshots passed. 249s =========================== short test summary info ============================ 249s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 249s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 249s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 249s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 249s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 249s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 249s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 249s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 249s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 249s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 249s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 249s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 249s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 249s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 249s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 249s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 249s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 249s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 249s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 249s 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. 249s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 249s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 249s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 249s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 249s 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 249s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 249s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 249s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 249s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 249s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 249s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 249s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 249s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 249s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 249s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 249s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 249s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 249s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 249s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 249s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 249s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 249s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 249s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 249s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 249s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 249s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 249s ========== 3295 passed, 3 skipped, 43 xfailed, 126 warnings in 15.41s ========== 249s autopkgtest [00:22:12]: test python3-translate-commands: -----------------------] 250s python3-translate-commands PASS 250s autopkgtest [00:22:13]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 250s autopkgtest [00:22:13]: @@@@@@@@@@@@@@@@@@@@ summary 250s translate-toolkit PASS 250s python3-translate PASS 250s python3-translate-commands PASS 261s nova [W] Using flock in scalingstack-bos02-s390x 261s Creating nova instance adt-oracular-s390x-translate-toolkit-20240713-232454-juju-7f2275-prod-proposed-migration-environment-2-56bc6255-b0d8-4b55-a105-000c1ccfa11e from image adt/ubuntu-oracular-s390x-server-20240713.img (UUID 64f483f9-0ef7-437c-b45a-fe1797fdc94d)... 261s nova [W] Using flock in scalingstack-bos02-s390x 261s Creating nova instance adt-oracular-s390x-translate-toolkit-20240713-232454-juju-7f2275-prod-proposed-migration-environment-2-56bc6255-b0d8-4b55-a105-000c1ccfa11e from image adt/ubuntu-oracular-s390x-server-20240713.img (UUID 64f483f9-0ef7-437c-b45a-fe1797fdc94d)...