0s autopkgtest [21:31:25]: starting date and time: 2024-07-13 21:31:25+0000 0s autopkgtest [21:31:25]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [21:31:25]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.a918xo1e/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-3@lcy02-49.secgroup --name adt-oracular-amd64-translate-toolkit-20240713-213125-juju-7f2275-prod-proposed-migration-environment-3-b70654f5-8f89-4e19-abac-33ab93797729 --image adt/ubuntu-oracular-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 387s autopkgtest [21:37:52]: testbed dpkg architecture: amd64 387s autopkgtest [21:37:52]: testbed apt version: 2.9.6 387s autopkgtest [21:37:52]: @@@@@@@@@@@@@@@@@@@@ test bed setup 387s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 387s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 387s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 387s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 387s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 387s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [116 kB] 387s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [88.6 kB] 387s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 c-n-f Metadata [2116 B] 387s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [34.9 kB] 387s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/restricted i386 Packages [6244 B] 387s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 c-n-f Metadata [368 B] 387s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [479 kB] 387s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [295 kB] 387s Get:14 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 c-n-f Metadata [9900 B] 387s Get:15 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [3052 B] 387s Get:16 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [7964 B] 387s Get:17 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 c-n-f Metadata [276 B] 388s Fetched 1630 kB in 0s (7173 kB/s) 388s Reading package lists... 390s Reading package lists... 390s Building dependency tree... 390s Reading state information... 390s Calculating upgrade... 390s The following packages will be upgraded: 390s libdw1t64 libelf1t64 python3-pkg-resources python3-setuptools 390s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 390s Need to get 938 kB of archives. 390s After this operation, 468 kB of additional disk space will be used. 390s Get:1 http://ftpmaster.internal/ubuntu oracular/main amd64 libdw1t64 amd64 0.191-2 [265 kB] 390s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 libelf1t64 amd64 0.191-2 [57.4 kB] 390s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-setuptools all 70.3.0-2 [429 kB] 390s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-pkg-resources all 70.3.0-2 [187 kB] 391s Fetched 938 kB in 0s (30.9 MB/s) 391s (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 ... 74486 files and directories currently installed.) 391s Preparing to unpack .../libdw1t64_0.191-2_amd64.deb ... 391s Unpacking libdw1t64:amd64 (0.191-2) over (0.191-1) ... 391s Preparing to unpack .../libelf1t64_0.191-2_amd64.deb ... 391s Unpacking libelf1t64:amd64 (0.191-2) over (0.191-1) ... 391s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 391s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 391s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 391s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 391s Setting up python3-pkg-resources (70.3.0-2) ... 391s Setting up python3-setuptools (70.3.0-2) ... 392s Setting up libelf1t64:amd64 (0.191-2) ... 392s Setting up libdw1t64:amd64 (0.191-2) ... 392s Processing triggers for libc-bin (2.39-0ubuntu9) ... 392s Reading package lists... 392s Building dependency tree... 392s Reading state information... 393s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 407s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 407s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 407s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 407s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 409s Reading package lists... 409s Reading package lists... 409s Building dependency tree... 409s Reading state information... 409s Calculating upgrade... 409s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 409s Reading package lists... 410s Building dependency tree... 410s Reading state information... 410s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 410s autopkgtest [21:38:15]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 411s autopkgtest [21:38:16]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 411s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (dsc) [3098 B] 411s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (tar) [1173 kB] 411s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.1-1 (diff) [24.4 kB] 412s gpgv: Signature made Thu Jun 27 09:16:24 2024 UTC 412s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 412s gpgv: Can't check signature: No public key 412s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.1-1.dsc: no acceptable signature found 412s autopkgtest [21:38:17]: testing package translate-toolkit version 3.13.1-1 430s autopkgtest [21:38:35]: build not needed 430s autopkgtest [21:38:35]: test translate-toolkit: preparing testbed 431s Reading package lists... 431s Building dependency tree... 431s Reading state information... 431s Starting pkgProblemResolver with broken count: 0 431s Starting 2 pkgProblemResolver with broken count: 0 431s Done 431s The following additional packages will be installed: 431s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 431s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 431s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 431s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 431s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 431s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 431s python3-more-itertools python3-phply python3-ply python3-pycountry 431s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 431s python3-simplejson python3-soupsieve python3-translate python3-vobject 431s python3-xapian subversion translate-toolkit 431s Suggested packages: 431s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 431s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 431s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 431s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 431s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 431s subversion-tools 431s Recommended packages: 431s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 431s python3-cssselect python3-html5lib translate-toolkit-doc 432s The following NEW packages will be installed: 432s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 432s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 432s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 432s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 432s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 432s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 432s python3-mistletoe python3-more-itertools python3-phply python3-ply 432s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 432s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 432s python3-translate python3-vobject python3-xapian subversion 432s translate-toolkit 432s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 432s Need to get 11.2 MB/11.2 MB of archives. 432s After this operation, 50.7 MB of additional disk space will be used. 432s Get:1 /tmp/autopkgtest.rA5Wsl/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [876 B] 432s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 emacsen-common all 3.0.5 [12.1 kB] 432s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 dictionaries-common all 1.29.7 [188 kB] 432s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14.1.0-1ubuntu1 [148 kB] 432s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.22.5-1 [944 kB] 432s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 432s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libapr1t64 amd64 1.7.2-3.2 [106 kB] 432s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libaprutil1t64 amd64 1.6.3-2ubuntu1 [92.1 kB] 432s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libaspell15 amd64 0.60.8.1-1build1 [323 kB] 432s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 432s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 libenchant-2-2 amd64 2.3.3-2build2 [51.4 kB] 432s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 libexttextcat-data all 3.4.7-1build1 [193 kB] 432s Get:13 http://ftpmaster.internal/ubuntu oracular/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 432s Get:14 http://ftpmaster.internal/ubuntu oracular/universe amd64 libutf8proc3 amd64 2.9.0-1build1 [70.6 kB] 432s Get:15 http://ftpmaster.internal/ubuntu oracular/universe amd64 libsvn1 amd64 1.14.3-2 [1344 kB] 432s Get:16 http://ftpmaster.internal/ubuntu oracular/universe amd64 libxapian30 amd64 1.4.22-1build1 [716 kB] 432s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libxslt1.1 amd64 1.1.39-0exp1build1 [167 kB] 432s Get:18 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-aeidon all 1.15-1 [231 kB] 432s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-soupsieve all 2.5-1 [33.0 kB] 432s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-bs4 all 4.12.3-1 [109 kB] 432s Get:21 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 432s Get:22 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-more-itertools all 10.3.0-1 [54.9 kB] 432s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 432s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 432s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 432s Get:26 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] 432s Get:27 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-enchant all 3.2.2-1 [34.0 kB] 432s Get:28 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-rapidfuzz amd64 3.6.2+ds-3 [2021 kB] 432s Get:29 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-levenshtein amd64 0.25.1-3 [120 kB] 432s Get:30 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-lxml amd64 5.2.2-1 [1243 kB] 432s Get:31 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-mistletoe all 1.3.0-1 [38.0 kB] 432s Get:32 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-ply all 3.11-6 [46.5 kB] 432s Get:33 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 432s Get:34 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml.clib amd64 0.2.8-1build1 [132 kB] 432s Get:35 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 432s Get:36 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-simplejson amd64 3.19.2-1build2 [54.5 kB] 432s Get:37 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-translate all 3.13.1-1 [319 kB] 432s Get:38 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-vobject all 0.9.6.1-2 [40.6 kB] 432s Get:39 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-xapian amd64 1.4.22-1build5 [373 kB] 432s Get:40 http://ftpmaster.internal/ubuntu oracular/universe amd64 subversion amd64 1.14.3-2 [908 kB] 432s Get:41 http://ftpmaster.internal/ubuntu oracular/universe amd64 translate-toolkit all 3.13.1-1 [81.2 kB] 432s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniparse all 0.5-2 [20.0 kB] 432s Get:43 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 432s Preconfiguring packages ... 432s Fetched 11.2 MB in 0s (44.6 MB/s) 432s Selecting previously unselected package emacsen-common. 432s (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 ... 74546 files and directories currently installed.) 432s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 432s Unpacking emacsen-common (3.0.5) ... 432s Selecting previously unselected package dictionaries-common. 432s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 432s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 432s Unpacking dictionaries-common (1.29.7) ... 432s Selecting previously unselected package libgomp1:amd64. 432s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_amd64.deb ... 432s Unpacking libgomp1:amd64 (14.1.0-1ubuntu1) ... 432s Selecting previously unselected package gettext. 432s Preparing to unpack .../03-gettext_0.22.5-1_amd64.deb ... 432s Unpacking gettext (0.22.5-1) ... 432s Selecting previously unselected package hunspell-en-us. 432s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 432s Unpacking hunspell-en-us (1:2020.12.07-2) ... 432s Selecting previously unselected package libapr1t64:amd64. 432s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_amd64.deb ... 432s Unpacking libapr1t64:amd64 (1.7.2-3.2) ... 432s Selecting previously unselected package libaprutil1t64:amd64. 432s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_amd64.deb ... 432s Unpacking libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 432s Selecting previously unselected package libaspell15:amd64. 432s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_amd64.deb ... 432s Unpacking libaspell15:amd64 (0.60.8.1-1build1) ... 433s Selecting previously unselected package libhunspell-1.7-0:amd64. 433s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 433s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 433s Selecting previously unselected package libenchant-2-2:amd64. 433s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_amd64.deb ... 433s Unpacking libenchant-2-2:amd64 (2.3.3-2build2) ... 433s Selecting previously unselected package libexttextcat-data. 433s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 433s Unpacking libexttextcat-data (3.4.7-1build1) ... 433s Selecting previously unselected package libserf-1-1:amd64. 433s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 433s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 433s Selecting previously unselected package libutf8proc3:amd64. 433s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_amd64.deb ... 433s Unpacking libutf8proc3:amd64 (2.9.0-1build1) ... 433s Selecting previously unselected package libsvn1:amd64. 433s Preparing to unpack .../13-libsvn1_1.14.3-2_amd64.deb ... 433s Unpacking libsvn1:amd64 (1.14.3-2) ... 433s Selecting previously unselected package libxapian30:amd64. 433s Preparing to unpack .../14-libxapian30_1.4.22-1build1_amd64.deb ... 433s Unpacking libxapian30:amd64 (1.4.22-1build1) ... 433s Selecting previously unselected package libxslt1.1:amd64. 433s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_amd64.deb ... 433s Unpacking libxslt1.1:amd64 (1.1.39-0exp1build1) ... 433s Selecting previously unselected package python3-aeidon. 433s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 433s Unpacking python3-aeidon (1.15-1) ... 433s Selecting previously unselected package python3-soupsieve. 433s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 433s Unpacking python3-soupsieve (2.5-1) ... 433s Selecting previously unselected package python3-bs4. 433s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 433s Unpacking python3-bs4 (4.12.3-1) ... 433s Selecting previously unselected package python3-charset-normalizer. 433s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 433s Unpacking python3-charset-normalizer (3.3.2-1) ... 433s Selecting previously unselected package python3-more-itertools. 433s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 433s Unpacking python3-more-itertools (10.3.0-1) ... 433s Selecting previously unselected package python3-jaraco.functools. 433s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 433s Unpacking python3-jaraco.functools (4.0.0-1) ... 433s Selecting previously unselected package python3-cheroot. 433s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 433s Unpacking python3-cheroot (10.0.0+ds1-2) ... 433s Selecting previously unselected package python3-dateutil. 433s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 433s Unpacking python3-dateutil (2.9.0-2) ... 433s Selecting previously unselected package python3-diff-match-patch. 433s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 433s Unpacking python3-diff-match-patch (20230430-1) ... 433s Selecting previously unselected package python3-enchant. 433s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 433s Unpacking python3-enchant (3.2.2-1) ... 433s Selecting previously unselected package python3-rapidfuzz. 433s Preparing to unpack .../26-python3-rapidfuzz_3.6.2+ds-3_amd64.deb ... 433s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 433s Selecting previously unselected package python3-levenshtein. 433s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_amd64.deb ... 433s Unpacking python3-levenshtein (0.25.1-3) ... 433s Selecting previously unselected package python3-lxml:amd64. 433s Preparing to unpack .../28-python3-lxml_5.2.2-1_amd64.deb ... 433s Unpacking python3-lxml:amd64 (5.2.2-1) ... 433s Selecting previously unselected package python3-mistletoe. 433s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 433s Unpacking python3-mistletoe (1.3.0-1) ... 433s Selecting previously unselected package python3-ply. 433s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 433s Unpacking python3-ply (3.11-6) ... 433s Selecting previously unselected package python3-phply. 433s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 433s Unpacking python3-phply (1.2.6-1) ... 433s Selecting previously unselected package python3-ruamel.yaml.clib:amd64. 433s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_amd64.deb ... 433s Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 433s Selecting previously unselected package python3-ruamel.yaml. 433s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 433s Unpacking python3-ruamel.yaml (0.17.21-1) ... 433s Selecting previously unselected package python3-simplejson. 433s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_amd64.deb ... 433s Unpacking python3-simplejson (3.19.2-1build2) ... 433s Selecting previously unselected package python3-translate. 433s Preparing to unpack .../35-python3-translate_3.13.1-1_all.deb ... 433s Unpacking python3-translate (3.13.1-1) ... 433s Selecting previously unselected package python3-vobject. 433s Preparing to unpack .../36-python3-vobject_0.9.6.1-2_all.deb ... 433s Unpacking python3-vobject (0.9.6.1-2) ... 433s Selecting previously unselected package python3-xapian. 433s Preparing to unpack .../37-python3-xapian_1.4.22-1build5_amd64.deb ... 433s Unpacking python3-xapian (1.4.22-1build5) ... 434s Selecting previously unselected package subversion. 434s Preparing to unpack .../38-subversion_1.14.3-2_amd64.deb ... 434s Unpacking subversion (1.14.3-2) ... 434s Selecting previously unselected package translate-toolkit. 434s Preparing to unpack .../39-translate-toolkit_3.13.1-1_all.deb ... 434s Unpacking translate-toolkit (3.13.1-1) ... 434s Selecting previously unselected package python3-iniparse. 434s Preparing to unpack .../40-python3-iniparse_0.5-2_all.deb ... 434s Unpacking python3-iniparse (0.5-2) ... 434s Selecting previously unselected package python3-pycountry. 434s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 434s Unpacking python3-pycountry (24.6.1+ds1-1) ... 434s Selecting previously unselected package autopkgtest-satdep. 434s Preparing to unpack .../42-1-autopkgtest-satdep.deb ... 434s Unpacking autopkgtest-satdep (0) ... 434s Setting up python3-more-itertools (10.3.0-1) ... 434s Setting up libxapian30:amd64 (1.4.22-1build1) ... 434s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 434s Setting up python3-diff-match-patch (20230430-1) ... 434s Setting up python3-jaraco.functools (4.0.0-1) ... 434s Setting up python3-aeidon (1.15-1) ... 435s Setting up libutf8proc3:amd64 (2.9.0-1build1) ... 435s Setting up libaspell15:amd64 (0.60.8.1-1build1) ... 435s Setting up python3-charset-normalizer (3.3.2-1) ... 435s Setting up python3-ply (3.11-6) ... 435s Setting up python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 435s Setting up libgomp1:amd64 (14.1.0-1ubuntu1) ... 435s Setting up python3-simplejson (3.19.2-1build2) ... 435s Setting up emacsen-common (3.0.5) ... 435s Setting up python3-cheroot (10.0.0+ds1-2) ... 435s Setting up python3-pycountry (24.6.1+ds1-1) ... 435s Setting up python3-xapian (1.4.22-1build5) ... 435s Setting up python3-ruamel.yaml (0.17.21-1) ... 436s Setting up python3-mistletoe (1.3.0-1) ... 436s Setting up libexttextcat-data (3.4.7-1build1) ... 436s Setting up libapr1t64:amd64 (1.7.2-3.2) ... 436s Setting up libxslt1.1:amd64 (1.1.39-0exp1build1) ... 436s Setting up python3-dateutil (2.9.0-2) ... 436s Setting up python3-levenshtein (0.25.1-3) ... 436s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 436s Setting up python3-soupsieve (2.5-1) ... 436s Setting up python3-iniparse (0.5-2) ... 436s Setting up libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 436s Setting up python3-vobject (0.9.6.1-2) ... 436s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 436s patterns['name'] = '[a-zA-Z0-9\-_]+' 436s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 436s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 436s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 436s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 436s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 436s """ 436s Setting up gettext (0.22.5-1) ... 436s Setting up python3-phply (1.2.6-1) ... 437s Setting up dictionaries-common (1.29.7) ... 437s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 437s Setting up python3-bs4 (4.12.3-1) ... 437s Setting up python3-lxml:amd64 (5.2.2-1) ... 437s Setting up hunspell-en-us (1:2020.12.07-2) ... 437s Setting up libsvn1:amd64 (1.14.3-2) ... 437s Setting up libenchant-2-2:amd64 (2.3.3-2build2) ... 437s Setting up subversion (1.14.3-2) ... 437s Setting up python3-enchant (3.2.2-1) ... 437s Setting up python3-translate (3.13.1-1) ... 438s Setting up translate-toolkit (3.13.1-1) ... 438s Setting up autopkgtest-satdep (0) ... 438s Processing triggers for man-db (2.12.1-2) ... 439s Processing triggers for install-info (7.1-3build2) ... 439s Processing triggers for libc-bin (2.39-0ubuntu9) ... 439s Processing triggers for dictionaries-common (1.29.7) ... 442s (Reading database ... 78006 files and directories currently installed.) 442s Removing autopkgtest-satdep (0) ... 442s autopkgtest [21:38:47]: test translate-toolkit: [----------------------- 442s ========= SMOKE TEST: /usr/bin/android2po =========== 442s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 442s 442s Convert Android string files to Gettext PO localization files. See: 442s http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/android2po.html for examples and usage 442s instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in xml format 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -t TEMPLATE, --template=TEMPLATE 442s read from TEMPLATE in xml format 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s --duplicates=DUPLICATESTYLE 442s what to do with duplicate strings (identical source 442s text): merge, msgctxt (default: 'msgctxt') 442s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 442s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 442s input files [input files ...] 442s 442s positional arguments: 442s input files 442s 442s options: 442s -h, --help show this help message and exit 442s -d TMDB_FILE, --tmdb TMDB_FILE 442s translation memory database file (default: tm.db) 442s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 442s source language of translation files (default: en) 442s -t TARGET_LANG, --import-target-lang TARGET_LANG 442s target language of translation files 442s ========= SMOKE TEST: /usr/bin/csv2po =========== 442s 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] 442s 442s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 442s See: http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in csv format 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -t TEMPLATE, --template=TEMPLATE 442s read from TEMPLATE in po, pot, pot formats 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s -P, --pot output PO Templates (.pot) rather than PO files (.po) 442s --charset=CHARSET set charset to decode from csv files 442s --columnorder=COLUMNORDER 442s specify the order and position of columns 442s (location,source,target,context) 442s --duplicates=DUPLICATESTYLE 442s what to do with duplicate strings (identical source 442s text): merge, msgctxt (default: 'msgctxt') 442s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 443s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 443s 443s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 443s glossary file. See: http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in csv format 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in tbx format 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s --charset=CHARSET set charset to decode from csv files 443s --columnorder=COLUMNORDER 443s specify the order and position of columns 443s (comment,source,target) 443s ========= SMOKE TEST: /usr/bin/dtd2po =========== 443s 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] 443s 443s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 443s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 443s this module You can convert back to .dtd using po2dtd.py. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in dtd format 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -t TEMPLATE, --template=TEMPLATE 443s read from TEMPLATE in dtd format 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -P, --pot output PO Templates (.pot) rather than PO files (.po) 443s --duplicates=DUPLICATESTYLE 443s what to do with duplicate strings (identical source 443s text): merge, msgctxt (default: 'msgctxt') 443s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 443s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 443s 443s Convert flat XML files to Gettext PO localization files. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/flatxml2po.html for examples and usage 443s instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in xml format 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -r ROOT, --root=ROOT name of the XML root element (default: "root") 443s -v VALUE, --value=VALUE 443s name of the XML value element (default: "str") 443s -k KEY, --key=KEY name of the XML key attribute (default: "key") 443s -n NS, --namespace=NS 443s XML namespace uri (default: None) 443s ========= SMOKE TEST: /usr/bin/html2po =========== 443s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 443s 443s Convert HTML files to Gettext PO localization files. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in htm, html, xhtml formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -P, --pot output PO Templates (.pot) rather than PO files (.po) 443s --keepcomments preserve html comments as translation notes in the 443s output 443s --duplicates=DUPLICATESTYLE 443s what to do with duplicate strings (identical source 443s text): merge, msgctxt (default: 'msgctxt') 443s --multifile=MULTIFILESTYLE 443s how to split po/pot files (single, toplevel or 443s onefile) 443s ========= SMOKE TEST: /usr/bin/ical2po =========== 443s 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] 443s 443s Convert iCalendar files to Gettext PO localization files. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in ics format 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -t TEMPLATE, --template=TEMPLATE 443s read from TEMPLATE in ics format 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -P, --pot output PO Templates (.pot) rather than PO files (.po) 443s --duplicates=DUPLICATESTYLE 443s what to do with duplicate strings (identical source 443s text): merge, msgctxt (default: 'msgctxt') 443s ========= SMOKE TEST: /usr/bin/idml2po =========== 443s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 443s 443s Convert IDML files to PO localization files. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in idml format 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 444s ========= SMOKE TEST: /usr/bin/ini2po =========== 444s 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] 444s 444s Convert .ini files to Gettext PO localization files. See: 444s http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in ini, isl, iss formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -t TEMPLATE, --template=TEMPLATE 444s read from TEMPLATE in ini, isl, iss formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 444s ========= SMOKE TEST: /usr/bin/json2po =========== 444s 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] 444s 444s Convert JSON files to Gettext PO localization files. See: 444s http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in json format 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -t TEMPLATE, --template=TEMPLATE 444s read from TEMPLATE in json format 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 444s everything) 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 444s ========= SMOKE TEST: /usr/bin/md2po =========== 444s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 444s 444s Convert Markdown files to Gettext PO localization files. See: 444s http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in markdown, md, text, txt formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 444s --multifile=MULTIFILESTYLE 444s how to split po/pot files (single, toplevel or 444s onefile) 444s ========= SMOKE TEST: /usr/bin/moz2po =========== 444s 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] 444s 444s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 444s See: http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in *, dtd, inc, ini, it, js, lang, 444s manifest, properties, rdf formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 444s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 444s lang.pot, manifest, properties.po, properties.pot, rdf 444s formats 444s -t TEMPLATE, --template=TEMPLATE 444s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 444s manifest, properties, rdf formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 445s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 445s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 445s 445s Convert Mozilla .lang files to Gettext PO localization files. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in lang format 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in po, pot formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s -P, --pot output PO Templates (.pot) rather than PO files (.po) 445s --encoding=ENCODING The encoding of the input file (default: UTF-8) 445s --duplicates=DUPLICATESTYLE 445s what to do with duplicate strings (identical source 445s text): merge, msgctxt (default: 'msgctxt') 445s ========= SMOKE TEST: /usr/bin/msghack =========== 445s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 445s This program can be used to alter .po files in ways no sane mind would think about. 445s -o result will be written to FILE 445s --invert invert a po file by switching msgid and msgstr 445s --master join any number of files in a master-formatted catalog 445s --empty empty the contents of the .po file, creating a .pot 445s --append append entries from ref.po that don't exist in file.po 445s 445s Note: It is just a replacement of msghack for backward support. 445s 445s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 445s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 445s 445s Convert OpenDocument (ODF) files to XLIFF localization files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 445s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 445s formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in xlf, xliff formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s ========= SMOKE TEST: /usr/bin/oo2po =========== 445s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 445s 445s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 445s files. See: http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in oo, sdf formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in po, pot formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s -P, --pot output PO Templates (.pot) rather than PO files (.po) 445s -l LANG, --language=LANG 445s set target language to extract from oo file (e.g. af- 445s ZA) 445s --source-language=LANG 445s set source language code (default en-US) 445s --nonrecursiveinput don't treat the input oo as a recursive store 445s --duplicates=DUPLICATESTYLE 445s what to do with duplicate strings (identical source 445s text): merge, msgctxt (default: 'msgctxt') 445s --multifile=MULTIFILESTYLE 445s how to split po/pot files (single, toplevel or 445s onefile) 445s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 445s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 445s 445s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 445s files. See: http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in oo, sdf formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in xlf, xliff formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s -l LANG, --language=LANG 445s set target language to extract from oo file (e.g. af- 445s ZA) 445s --source-language=LANG 445s set source language code (default en-US) 445s --nonrecursiveinput don't treat the input oo as a recursive store 445s --duplicates=DUPLICATESTYLE 445s what to do with duplicate strings (identical source 445s text): merge, msgctxt (default: 'msgctxt') 445s --multifile=MULTIFILESTYLE 445s how to split po/pot files (single, toplevel or 445s onefile) 445s ========= SMOKE TEST: /usr/bin/php2po =========== 445s 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] 445s 445s Convert PHP localization files to Gettext PO localization files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in html, php formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in po, pot formats 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in html, php formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s -P, --pot output PO Templates (.pot) rather than PO files (.po) 445s --duplicates=DUPLICATESTYLE 445s what to do with duplicate strings (identical source 445s text): merge, msgctxt (default: 'msgctxt') 445s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 445s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 445s 445s Convert PHP format .po files to Python format .po files. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in po, pot formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s ========= SMOKE TEST: /usr/bin/po2csv =========== 445s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 445s 445s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 445s See: http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in csv format 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s --columnorder=COLUMNORDER 445s specify the order and position of columns 445s (location,source,target,context) 445s ========= SMOKE TEST: /usr/bin/po2dtd =========== 446s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 446s Conversion is either done using a template plus PO file or just using the 446s .po file. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in dtd format 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in dtd format 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s --removeuntranslated remove untranslated strings from output 446s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 446s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to flat XML files. See: 446s http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/flatxml2po.html for examples and usage 446s instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in xml format 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in xml format 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s -r ROOT, --root=ROOT name of the XML root element (default: "root") 446s -v VALUE, --value=VALUE 446s name of the XML value element (default: "str") 446s -k KEY, --key=KEY name of the XML key attribute (default: "key") 446s -n NS, --namespace=NS 446s XML namespace uri (default: None) 446s -w INDENT, --indent=INDENT 446s indent width in spaces, 0 for no indent (default: 2) 446s ========= SMOKE TEST: /usr/bin/po2html =========== 446s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Translate HTML files using Gettext PO localization files. See: 446s http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in htm, html, xhtml formats 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in htm, html, xhtml formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s ========= SMOKE TEST: /usr/bin/po2ical =========== 446s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to iCalendar files. See: 446s http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in ics format 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in ics format 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s ========= SMOKE TEST: /usr/bin/po2idml =========== 446s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Takes an IDML template file and a PO file containing translations of strings 446s in the IDML template. It creates a new IDML file using the translations of the 446s PO file. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in idml format 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in idml format 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s ========= SMOKE TEST: /usr/bin/po2ini =========== 446s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to .ini files. See: 446s http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in ini, isl formats 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in ini, isl formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s ========= SMOKE TEST: /usr/bin/po2json =========== 446s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to JSON files. See: 446s http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in json format 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in json format 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s --removeuntranslated remove untranslated strings from output 446s ========= SMOKE TEST: /usr/bin/po2md =========== 447s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Translate Markdown files using Gettext PO localization files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in markdown, md, text, txt formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in markdown, md, text, txt formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s -m MAXLENGTH, --maxlinelength=MAXLENGTH 447s reflow (word wrap) the output to the given maximum 447s line length. set to 0 to disable 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s ========= SMOKE TEST: /usr/bin/po2moz =========== 447s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 447s See: http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in *, dtd.po, dtd.pot, inc.po, 447s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 447s lang.pot, manifest, properties.po, properties.pot, rdf 447s formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 447s manifest, properties, rdf formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 447s manifest, properties, rdf formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s -l LOCALE, --locale=LOCALE 447s set output locale (required as this sets the directory 447s names) 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s --removeuntranslated remove untranslated strings from output 447s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 447s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to Mozilla .lang files. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in lang format 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in lang format 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --mark-active mark the file as active 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s ========= SMOKE TEST: /usr/bin/po2oo =========== 447s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 447s file. See: http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot, xlf, xliff formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in oo, sdf formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in oo, sdf formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s -l LANG, --language=LANG 447s set target language code (e.g. af-ZA) [required] 447s --source-language=LANG 447s set source language code (default en-US) 447s -T, --keeptimestamp don't change the timestamps of the strings 447s --nonrecursiveoutput don't treat the output oo as a recursive store 447s --nonrecursivetemplate 447s don't treat the template oo as a recursive store 447s --skipsource don't output the source language, but fallback to it 447s where needed 447s --filteraction=ACTION 447s action on pofilter failure: none (default), warn, 447s exclude-serious, exclude-all 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s --multifile=MULTIFILESTYLE 447s how to split po/pot files (single, toplevel or 447s onefile) 448s ========= SMOKE TEST: /usr/bin/po2php =========== 448s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to PHP localization files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in html, php formats 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in html, php formats 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --threshold=PERCENT only convert files where the translation completion is 448s above PERCENT 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s ========= SMOKE TEST: /usr/bin/po2prop =========== 448s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to Java/Mozilla .properties files. 448s See: http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in lang, properties, strings formats 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in lang, properties, strings 448s formats 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --personality=TYPE override the input file format: java, java-utf8, java- 448s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 448s strings, strings-utf8, joomla (for .properties files, 448s default: java) 448s --encoding=ENCODING override the encoding set by the personality 448s --threshold=PERCENT only convert files where the translation completion is 448s above PERCENT 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s --removeuntranslated remove untranslated strings from output 448s ========= SMOKE TEST: /usr/bin/po2rc =========== 448s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files back to Windows Resource (.rc) files. 448s See: http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in rc format 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in rc format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 448s -l LANG, --lang=LANG LANG entry 448s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 448s --threshold=PERCENT only convert files where the translation completion is 448s above PERCENT 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s ========= SMOKE TEST: /usr/bin/po2resx =========== 448s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in resx format 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in resx format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s ========= SMOKE TEST: /usr/bin/po2sub =========== 448s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to subtitle files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in ass, srt, ssa, sub formats 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in ass, srt, ssa, sub formats 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --threshold=PERCENT only convert files where the translation completion is 448s above PERCENT 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s ========= SMOKE TEST: /usr/bin/po2symb =========== 448s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to Symbian translation files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in r0 format 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --duplicates=DUPLICATESTYLE 448s what to do with duplicate strings (identical source 448s text): merge, msgctxt (default: 'msgctxt') 448s ========= SMOKE TEST: /usr/bin/po2tiki =========== 448s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 448s 448s Convert Gettext PO files to TikiWiki's language.php files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in tiki format 448s -S, --timestamp skip conversion if the output file has newer timestamp 449s ========= SMOKE TEST: /usr/bin/po2tmx =========== 449s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 449s file. See: http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in tmx format 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s -l LANG, --language=LANG 449s set target language code (e.g. af-ZA) [required] 449s --source-language=LANG 449s set source language code (default: en) 449s --comments=COMMENT set default comment import: none, source, type or 449s others (default: none) 449s ========= SMOKE TEST: /usr/bin/po2ts =========== 449s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 449s 449s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in ts format 449s -t TEMPLATE, --template=TEMPLATE 449s read from TEMPLATE in ts format 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s -c CONTEXT, --context=CONTEXT 449s use supplied context instead of the one in the .po 449s file comment 449s ========= SMOKE TEST: /usr/bin/po2txt =========== 449s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 449s 449s Convert Gettext PO localization files to plain text (.txt) files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot, xlf, xliff formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in txt format 449s -t TEMPLATE, --template=TEMPLATE 449s read from TEMPLATE in txt format 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s --encoding=ENCODING The encoding of the template file (default: UTF-8) 449s -w WRAP, --wrap=WRAP set number of columns to wrap text at 449s --threshold=PERCENT only convert files where the translation completion is 449s above PERCENT 449s --fuzzy use translations marked fuzzy 449s --nofuzzy don't use translations marked fuzzy (default) 449s ========= SMOKE TEST: /usr/bin/po2web2py =========== 449s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in py format 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s --threshold=PERCENT only convert files where the translation completion is 449s above PERCENT 449s --fuzzy use translations marked fuzzy 449s --nofuzzy don't use translations marked fuzzy (default) 449s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 449s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Convert Gettext PO localization files to a Wordfast translation memory file. 449s See: http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/po2wordfast.html for examples and usage 449s instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in txt format 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s -l LANG, --language=LANG 449s set target language code (e.g. af-ZA) [required] 449s --source-language=LANG 449s set source language code (default: en) 449s ========= SMOKE TEST: /usr/bin/po2xliff =========== 449s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 449s 449s Convert Gettext PO localization files to XLIFF localization files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in xlf, xliff formats 449s -t TEMPLATE, --template=TEMPLATE 449s read from TEMPLATE in xlf, xliff formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s ========= SMOKE TEST: /usr/bin/po2yaml =========== 449s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 449s 449s Convert Gettext PO localization files to YAML files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in yaml, yml formats 449s -t TEMPLATE, --template=TEMPLATE 449s read from TEMPLATE in yaml, yml formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s --threshold=PERCENT only convert files where the translation completion is 449s above PERCENT 449s --fuzzy use translations marked fuzzy 449s --nofuzzy don't use translations marked fuzzy (default) 449s ========= SMOKE TEST: /usr/bin/poclean =========== 449s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 449s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 449s produces the target file with only the target text in from a text version of 449s the RTF. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot, xlf, xliff formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in po, pot, xlf, xliff formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 450s ========= SMOKE TEST: /usr/bin/pocompendium =========== 450s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 450s The first parameter is the output file, standard output if the output file is '-'. 450s Any number of directories may be specified for input files. 450s Options: 450s --invert|v Creates an inverse compendium with msgid and msgstr swapped 450s --errors|e Only ouput msg bundles that have errors 450s --correct|c Only ouput msg bundles that are correctly translated 450s --ignore-case|i Drops all strings to lowercase 450s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 450s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 450s --strip-accel-under|-su Strip all underscore (_) accelerator characters 450s ========= SMOKE TEST: /usr/bin/pocompile =========== 450s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 450s 450s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 450s Object) files. See: http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, xlf, xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in mo format 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s --fuzzy use translations marked fuzzy 450s --nofuzzy don't use translations marked fuzzy (default) 450s ========= SMOKE TEST: /usr/bin/poconflicts =========== 450s 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] 450s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 450s 450s Conflict finder for Gettext PO localization files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/poconflicts.html for examples and usage 450s instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po format 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po format 450s -I, --ignore-case ignore case distinctions 450s -v, --invert invert the conflicts thus extracting conflicting 450s destination words 450s --accelerator=ACCELERATORS 450s ignores the given accelerator characters when matching 450s ========= SMOKE TEST: /usr/bin/pocount =========== 450s usage: pocount [-h] [--incomplete] 450s [--full | --csv | --short | --short-strings | --short-words] 450s [--no-color] 450s files [files ...] 450s 450s positional arguments: 450s files 450s 450s options: 450s -h, --help show this help message and exit 450s --incomplete skip 100% translated files. 450s 450s Output format: 450s --full (default) statistics in full, verbose format 450s --csv statistics in CSV format 450s --short same as --short-strings 450s --short-strings statistics of strings in short format - one line per file 450s --short-words statistics of words in short format - one line per file 450s --no-color show output without color 450s ========= SMOKE TEST: /usr/bin/podebug =========== 450s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 450s 450s Insert debug messages into XLIFF and Gettext PO localization files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, pot, tmx, xlf, xliff 450s formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot, tmx, xlf, xliff formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s -f FORMAT, --format=FORMAT 450s specify format string 450s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 450s classified, en, flipped, unicode, xxx 450s --ignore=APPLICATION apply tagging ignore rules for the given application: 450s gtk, kde, libreoffice, mozilla, openoffice 450s --preserveplaceholders 450s attempt to exclude characters that are part of 450s placeholders when performing character-level rewrites 450s so that consuming applications can still use the 450s placeholders to generate final output 450s ========= SMOKE TEST: /usr/bin/pofilter =========== 450s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 450s 450s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 450s Snippet files are created whenever a test fails. These can be examined, 450s corrected and merged back into the originals using pomerge. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 450s and http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 450s tests. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, tmx, xlf, xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot, tmx, xlf, xliff formats 450s -l, --listfilters list filters available 450s --review include units marked for review (default) 450s --noreview exclude units marked for review 450s --fuzzy include units marked fuzzy (default) 450s --nofuzzy exclude units marked fuzzy 450s --nonotes don't add notes about the errors 450s --autocorrect output automatic corrections where possible rather 450s than describing issues 450s --language=LANG set target language code (e.g. af-ZA) [required for 450s spell check and recommended in general] 450s --openoffice use the standard checks for OpenOffice translations 450s --libreoffice use the standard checks for LibreOffice translations 450s --mozilla use the standard checks for Mozilla translations 450s --drupal use the standard checks for Drupal translations 450s --gnome use the standard checks for Gnome translations 450s --kde use the standard checks for KDE translations 450s --wx use the standard checks for wxWidgets translations 450s --excludefilter=FILTER 450s don't use FILTER when filtering 450s -t FILTER, --test=FILTER 450s only use test FILTERs specified with this option when 450s filtering 450s --notranslatefile=FILE 450s read list of untranslatable words from FILE (must not 450s be translated) 450s --musttranslatefile=FILE 450s read list of translatable words from FILE (must be 450s translated) 450s --validcharsfile=FILE 450s read list of all valid characters from FILE (must be 450s in UTF-8) 450s ========= SMOKE TEST: /usr/bin/pogrep =========== 450s 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] 450s 450s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 450s snippet files of the same type which can then be reviewed and later merged 450s using :doc:`pomerge `. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 450s xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 450s xliff formats 450s --search=SEARCHPARTS searches the given parts (source, target, notes and 450s locations) 450s -I, --ignore-case ignore case distinctions 450s -e, --regexp use regular expression matching 450s -v, --invert-match select non-matching lines 450s --accelerator=ACCELERATOR 450s ignores the given accelerator when matching 450s -k, --keep-translations 450s always extract units with translations 450s ========= SMOKE TEST: /usr/bin/pomerge =========== 450s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 450s 450s Merges XLIFF and Gettext PO localization files. Snippet file produced by 450s e.g. :doc:`pogrep ` and updated by a translator can be 450s merged back into the original files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, pot, xlf, xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot, pot, xlf, xliff formats 450s -t TEMPLATE, --template=TEMPLATE 450s read from TEMPLATE in po, pot, pot, xlf, xliff formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s --mergeblanks=MERGEBLANKS 450s whether to overwrite existing translations with blank 450s translations (yes/no). Default is yes. 450s --mergefuzzy=MERGEFUZZY 450s whether to consider fuzzy translations from input 450s (yes/no). Default is yes. 450s --mergecomments=MERGECOMMENTS 450s whether to merge comments as well as translations 450s (yes/no). Default is yes. 450s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 450s Usage pomigrate2 [options] 450s 450s Options: 450s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 450s -C|--use-compendium - create and use a compendium built from the migrating files 450s -C|--use-compendium=some-compendium.po 450s - use an external compendium during the migration 450s --no-wrap - do not wrap long lines 450s --locale=lang - set locale for newly born files 450s -q|--quiet - suppress most output 450s -p|--pot2po - use pot2po instead of msgmerge to migrate 450s ========= SMOKE TEST: /usr/bin/popuretext =========== 450s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 450s ========= SMOKE TEST: /usr/bin/poreencode =========== 450s Usage: poreencode 450s eg: poreencode UTF-8 af/ 450s ========= SMOKE TEST: /usr/bin/porestructure =========== 450s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 450s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 450s 450s Restructure Gettxt PO files produced by :doc:`poconflicts 450s ` into the original directory tree for merging using 450s :doc:`pomerge `. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po format 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po format 450s ========= SMOKE TEST: /usr/bin/posegment =========== 451s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 451s 451s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 451s See: http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in po, pot, tmx, xlf, xliff formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot, tmx, xlf, xliff formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s -l LANG, --language=LANG 451s the target language code 451s --source-language=LANG 451s the source language code (default 'en') 451s --keepspaces Disable automatic stripping of whitespace 451s --only-aligned Removes units where sentence number does not 451s correspond 451s ========= SMOKE TEST: /usr/bin/poswap =========== 451s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 451s 451s Builds a new translation file with the target of the input language as source 451s language. .. note:: Ensure that the two po files correspond 100% to the same 451s pot file before using this. To translate Kurdish (ku) through French:: 451s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 451s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in po, pot formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in po, pot, pot formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s --reverse reverse the process of intermediate language 451s conversion 451s ========= SMOKE TEST: /usr/bin/pot2po =========== 451s 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] 451s 451s Convert template files (like .pot or template .xlf files) to translation 451s files, preserving existing translations. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 451s formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 451s xliff formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 451s xliff formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s --tm=TM The file to use as translation memory when fuzzy 451s matching 451s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 451s The minimum similarity for inclusion (default: 75%) 451s --nofuzzymatching Disable fuzzy matching 451s ========= SMOKE TEST: /usr/bin/poterminology =========== 451s 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] 451s input directory is searched for PO files, terminology PO file is output file 451s 451s Create a terminology file by reading a set of .po or .pot files to produce a 451s pootle-terminology.pot. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/poterminology.html for examples and usage 451s instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in po, pot formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -u UPDATEFILE, --update=UPDATEFILE 451s update terminology in UPDATEFILE 451s -S STOPFILE, --stopword-list=STOPFILE 451s read stopword (term exclusion) list from STOPFILE 451s (default /usr/share/pyshared/translate/share/stoplist- 451s en) 451s -F, --fold-titlecase fold "Title Case" to lowercase (default) 451s -C, --preserve-case preserve all uppercase/lowercase 451s -I, --ignore-case make all terms lowercase 451s --accelerator=ACCELERATORS 451s ignore the given accelerator characters when matching 451s -t LENGTH, --term-words=LENGTH 451s generate terms of up to LENGTH words (default 3) 451s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 451s 1) 451s --inputs-needed=MIN omit terms appearing in less than MIN input files 451s (default 2, or 1 if only one input file) 451s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 451s different messages (default 1) 451s --substr-needed=MIN omit substring-only terms appearing in less than MIN 451s different messages (default 2) 451s --locs-needed=MIN omit terms appearing in less than MIN different 451s original source files (default 2) 451s --sort=ORDER output sort order(s): frequency, dictionary, length 451s (may repeat option, default is all in above order) 451s --source-language=LANG 451s the source language code (default 'en') 451s -v, --invert invert the source and target languages for terminology 451s ========= SMOKE TEST: /usr/bin/pretranslate =========== 451s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 453s 453s Fill localization files with suggested translations based on translation 453s memory and existing translations. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/pretranslate.html for examples and usage 453s instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in po, pot, pot, xlf, xliff formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot, xlf, xliff formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in po, pot, xlf, xliff formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s --tm=TM The file to use as translation memory when fuzzy 453s matching 453s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 453s The minimum similarity for inclusion (default: 75%) 453s --nofuzzymatching Disable fuzzy matching 453s ========= SMOKE TEST: /usr/bin/prop2po =========== 453s 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] 453s 453s Convert Java/Mozilla .properties files to Gettext PO localization files. 453s See: http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in lang, properties, strings formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in lang, properties, strings 453s formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --personality=TYPE override the input file format: java, java-utf8, java- 453s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 453s strings, strings-utf8, joomla (for .properties files, 453s default: java) 453s --encoding=ENCODING override the encoding set by the personality 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/pydiff =========== 453s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 453s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 453s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 453s fromfile tofile 453s 453s positional arguments: 453s fromfile 453s tofile 453s 453s options: 453s -h, --help show this help message and exit 453s -i, --ignore-case Ignore case differences in file contents. 453s -U NUM, --unified NUM 453s Output NUM (default 3) lines of unified context 453s -r, --recursive Recursively compare any subdirectories found. 453s -N, --new-file Treat absent files as empty. 453s --unidirectional-new-file 453s Treat absent first files as empty. 453s -s, --report-identical-files 453s Report when two files are the same. 453s -x PAT, --exclude PAT 453s Exclude files that match PAT. 453s --fromcontains TEXT Only show changes where fromfile contains TEXT 453s --tocontains TEXT Only show changes where tofile contains TEXT 453s --contains TEXT Only show changes where fromfile or tofile contains 453s TEXT 453s -I, --ignore-case-contains 453s Ignore case differences when matching any of the 453s changes 453s --accelerator ACCELERATORS 453s ignores the given accelerator characters when matching 453s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 453s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 453s 453s Convert Python format .po files to PHP format .po files. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in po, pot formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s ========= SMOKE TEST: /usr/bin/rc2po =========== 453s 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] 453s 453s Convert Windows RC files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in nls, rc formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in nls, rc formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --charset=CHARSET charset to use to decode the RC files (autodetection 453s is used by default) 453s -l LANG, --lang=LANG LANG entry (default: None) 453s --sublang=SUBLANG SUBLANG entry (default: None) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/resx2po =========== 453s 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] 453s 453s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in resx format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in resx format 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 453s everything) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/sub2po =========== 453s 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] 453s 453s Convert subtitle files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in ass, srt, ssa, sub formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in ass, srt, ssa, sub formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/symb2po =========== 453s 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] 453s 453s Convert Symbian localisation files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in r01 format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/tbx2po =========== 453s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 453s 453s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in tbx format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s ========= SMOKE TEST: /usr/bin/tiki2po =========== 453s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 453s 453s Convert TikiWiki's language.php files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in php format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s --include-unused Include strings in the unused section 453s ========= SMOKE TEST: /usr/bin/tmserver =========== 453s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 453s [-s SOURCE_LANG] [-b BIND] [-p PORT] 453s [--max-candidates MAX_CANDIDATES] 453s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 453s [--debug] 453s 453s options: 453s -h, --help show this help message and exit 453s -d TMDBFILE, --tmdb TMDBFILE 453s translation memory database file 453s -f TMFILES, --import-translation-file TMFILES 453s translation file to import into the database 453s -t TARGET_LANG, --import-target-lang TARGET_LANG 453s target language of translation files 453s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 453s source language of translation files 453s -b BIND, --bind BIND address to bind server to (default: localhost) 453s -p PORT, --port PORT port to listen on (default: 8888) 453s --max-candidates MAX_CANDIDATES 453s Maximum number of candidates 453s --min-similarity MIN_SIMILARITY 453s minimum similarity 453s --max-length MAX_LENGTH 453s Maxmimum string length 453s --debug enable debugging features 453s ========= SMOKE TEST: /usr/bin/ts2po =========== 453s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 453s 453s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in ts format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/txt2po =========== 453s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 453s 453s Convert plain text (.txt) files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in *, txt formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --encoding=ENCODING The encoding of the input file (default: UTF-8) 453s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 453s mediawiki 453s --no-segmentation Don't segment the file, treat it like a single message 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/web2py2po =========== 453s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 453s 453s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in py format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 453s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 453s 453s Convert XLIFF translation files to OpenDocument (ODF) files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in xlf format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 453s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 453s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 453s formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 453s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 453s 453s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 453s file. See: http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in po, pot, xlf, xliff formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in oo, sdf formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in oo, sdf formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -l LANG, --language=LANG 453s set target language code (e.g. af-ZA) [required] 453s --source-language=LANG 453s set source language code (default en-US) 453s -T, --keeptimestamp don't change the timestamps of the strings 453s --nonrecursiveoutput don't treat the output oo as a recursive store 453s --nonrecursivetemplate 453s don't treat the template oo as a recursive store 453s --skipsource don't output the source language, but fallback to it 453s where needed 453s --filteraction=ACTION 453s action on pofilter failure: none (default), warn, 453s exclude-serious, exclude-all 453s --fuzzy use translations marked fuzzy 453s --nofuzzy don't use translations marked fuzzy (default) 453s --multifile=MULTIFILESTYLE 453s how to split po/pot files (single, toplevel or 453s onefile) 453s ========= SMOKE TEST: /usr/bin/xliff2po =========== 453s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 453s 453s Convert XLIFF localization files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in xlf, xliff formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 454s ========= SMOKE TEST: /usr/bin/yaml2po =========== 454s 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] 454s 454s Convert YAML files to Gettext PO localization files. See: 454s http://docs.translatehouse.org/projects/translate- 454s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 454s 454s Options: 454s --version show program's version number and exit 454s -h, --help show this help message and exit 454s --manpage output a manpage based on the help 454s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 454s --errorlevel=ERRORLEVEL 454s show errorlevel as: none, message, exception, 454s traceback 454s -i INPUT, --input=INPUT 454s read from INPUT in yaml, yml formats 454s -x EXCLUDE, --exclude=EXCLUDE 454s exclude names matching EXCLUDE from input paths 454s -o OUTPUT, --output=OUTPUT 454s write to OUTPUT in po, pot formats 454s -t TEMPLATE, --template=TEMPLATE 454s read from TEMPLATE in yaml, yml formats 454s -S, --timestamp skip conversion if the output file has newer timestamp 454s -P, --pot output PO Templates (.pot) rather than PO files (.po) 454s --duplicates=DUPLICATESTYLE 454s what to do with duplicate strings (identical source 454s text): merge, msgctxt (default: 'msgctxt') 454s autopkgtest [21:38:59]: test translate-toolkit: -----------------------] 454s translate-toolkit PASS 454s autopkgtest [21:38:59]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 455s autopkgtest [21:39:00]: test python3-translate: preparing testbed 1131s autopkgtest [21:50:16]: testbed dpkg architecture: amd64 1131s autopkgtest [21:50:16]: testbed apt version: 2.9.6 1131s autopkgtest [21:50:16]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1131s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 1131s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [399 kB] 1131s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.8 kB] 1131s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 1131s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3304 B] 1131s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [116 kB] 1131s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [88.6 kB] 1131s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 c-n-f Metadata [2116 B] 1131s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted i386 Packages [6244 B] 1131s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [34.9 kB] 1131s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 c-n-f Metadata [368 B] 1131s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [295 kB] 1131s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [479 kB] 1131s Get:14 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 c-n-f Metadata [9900 B] 1131s Get:15 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [3052 B] 1131s Get:16 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [7964 B] 1131s Get:17 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 c-n-f Metadata [276 B] 1133s Fetched 1630 kB in 0s (6160 kB/s) 1133s Reading package lists... 1134s Reading package lists... 1134s Building dependency tree... 1134s Reading state information... 1135s Calculating upgrade... 1135s The following packages will be upgraded: 1135s libdw1t64 libelf1t64 python3-pkg-resources python3-setuptools 1135s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1135s Need to get 938 kB of archives. 1135s After this operation, 468 kB of additional disk space will be used. 1135s Get:1 http://ftpmaster.internal/ubuntu oracular/main amd64 libdw1t64 amd64 0.191-2 [265 kB] 1135s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 libelf1t64 amd64 0.191-2 [57.4 kB] 1135s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-setuptools all 70.3.0-2 [429 kB] 1135s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-pkg-resources all 70.3.0-2 [187 kB] 1136s Fetched 938 kB in 0s (24.4 MB/s) 1136s (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 ... 74486 files and directories currently installed.) 1136s Preparing to unpack .../libdw1t64_0.191-2_amd64.deb ... 1136s Unpacking libdw1t64:amd64 (0.191-2) over (0.191-1) ... 1136s Preparing to unpack .../libelf1t64_0.191-2_amd64.deb ... 1136s Unpacking libelf1t64:amd64 (0.191-2) over (0.191-1) ... 1136s Preparing to unpack .../python3-setuptools_70.3.0-2_all.deb ... 1136s Unpacking python3-setuptools (70.3.0-2) over (68.1.2-2ubuntu1) ... 1136s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 1136s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 1136s Setting up python3-pkg-resources (70.3.0-2) ... 1137s Setting up python3-setuptools (70.3.0-2) ... 1137s Setting up libelf1t64:amd64 (0.191-2) ... 1137s Setting up libdw1t64:amd64 (0.191-2) ... 1137s Processing triggers for libc-bin (2.39-0ubuntu9) ... 1137s Reading package lists... 1138s Building dependency tree... 1138s Reading state information... 1138s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1138s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 1138s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 1138s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 1138s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 1139s Reading package lists... 1140s Reading package lists... 1140s Building dependency tree... 1140s Reading state information... 1140s Calculating upgrade... 1140s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1141s Reading package lists... 1141s Building dependency tree... 1141s Reading state information... 1141s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1142s Reading package lists... 1143s Building dependency tree... 1143s Reading state information... 1143s Starting pkgProblemResolver with broken count: 0 1143s Starting 2 pkgProblemResolver with broken count: 0 1143s Done 1143s The following additional packages will be installed: 1143s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 1143s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 1143s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 1143s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 1143s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 1143s python3-iniconfig python3-iniparse python3-jaraco.functools 1143s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 1143s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 1143s python3-pytest python3-rapidfuzz python3-ruamel.yaml 1143s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 1143s python3-translate python3-vobject python3-xapian subversion 1143s Suggested packages: 1143s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 1143s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 1143s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 1143s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 1143s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 1143s subversion-tools 1143s Recommended packages: 1143s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 1143s python3-cssselect python3-html5lib 1143s The following NEW packages will be installed: 1143s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 1143s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 1143s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 1143s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 1143s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 1143s python3-iniconfig python3-iniparse python3-jaraco.functools 1143s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 1143s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 1143s python3-pytest python3-rapidfuzz python3-ruamel.yaml 1143s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 1143s python3-translate python3-vobject python3-xapian subversion 1144s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 1144s Need to get 11.6 MB/11.6 MB of archives. 1144s After this operation, 52.2 MB of additional disk space will be used. 1144s Get:1 /tmp/autopkgtest.rA5Wsl/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [884 B] 1144s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 emacsen-common all 3.0.5 [12.1 kB] 1144s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 dictionaries-common all 1.29.7 [188 kB] 1144s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14.1.0-1ubuntu1 [148 kB] 1144s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.22.5-1 [944 kB] 1144s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 1144s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libapr1t64 amd64 1.7.2-3.2 [106 kB] 1144s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libaprutil1t64 amd64 1.6.3-2ubuntu1 [92.1 kB] 1144s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libaspell15 amd64 0.60.8.1-1build1 [323 kB] 1144s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 1144s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 libenchant-2-2 amd64 2.3.3-2build2 [51.4 kB] 1144s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 libexttextcat-data all 3.4.7-1build1 [193 kB] 1144s Get:13 http://ftpmaster.internal/ubuntu oracular/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 1144s Get:14 http://ftpmaster.internal/ubuntu oracular/universe amd64 libutf8proc3 amd64 2.9.0-1build1 [70.6 kB] 1144s Get:15 http://ftpmaster.internal/ubuntu oracular/universe amd64 libsvn1 amd64 1.14.3-2 [1344 kB] 1144s Get:16 http://ftpmaster.internal/ubuntu oracular/universe amd64 libxapian30 amd64 1.4.22-1build1 [716 kB] 1144s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libxslt1.1 amd64 1.1.39-0exp1build1 [167 kB] 1144s Get:18 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-aeidon all 1.15-1 [231 kB] 1144s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-all amd64 3.12.3-0ubuntu1 [888 B] 1144s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-soupsieve all 2.5-1 [33.0 kB] 1144s Get:21 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-bs4 all 4.12.3-1 [109 kB] 1144s Get:22 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 1144s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-more-itertools all 10.3.0-1 [54.9 kB] 1144s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 1144s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 1144s Get:26 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 1144s Get:27 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] 1144s Get:28 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-enchant all 3.2.2-1 [34.0 kB] 1144s Get:29 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 1144s Get:30 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-rapidfuzz amd64 3.6.2+ds-3 [2021 kB] 1144s Get:31 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-levenshtein amd64 0.25.1-3 [120 kB] 1144s Get:32 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-lxml amd64 5.2.2-1 [1243 kB] 1144s Get:33 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-mistletoe all 1.3.0-1 [38.0 kB] 1144s Get:34 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-packaging all 24.1-1 [41.4 kB] 1144s Get:35 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-ply all 3.11-6 [46.5 kB] 1144s Get:36 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 1144s Get:37 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 1144s Get:38 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pytest all 7.4.4-1 [305 kB] 1144s Get:39 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml.clib amd64 0.2.8-1build1 [132 kB] 1144s Get:40 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 1144s Get:41 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-simplejson amd64 3.19.2-1build2 [54.5 kB] 1144s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-syrupy all 4.6.1-1 [42.8 kB] 1144s Get:43 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-translate all 3.13.1-1 [319 kB] 1144s Get:44 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-vobject all 0.9.6.1-2 [40.6 kB] 1144s Get:45 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-xapian amd64 1.4.22-1build5 [373 kB] 1144s Get:46 http://ftpmaster.internal/ubuntu oracular/universe amd64 subversion amd64 1.14.3-2 [908 kB] 1144s Get:47 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniparse all 0.5-2 [20.0 kB] 1144s Get:48 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 1144s Preconfiguring packages ... 1144s Fetched 11.6 MB in 0s (50.2 MB/s) 1144s Selecting previously unselected package emacsen-common. 1144s (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 ... 74546 files and directories currently installed.) 1144s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 1144s Unpacking emacsen-common (3.0.5) ... 1144s Selecting previously unselected package dictionaries-common. 1144s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 1144s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 1144s Unpacking dictionaries-common (1.29.7) ... 1144s Selecting previously unselected package libgomp1:amd64. 1144s Preparing to unpack .../02-libgomp1_14.1.0-1ubuntu1_amd64.deb ... 1144s Unpacking libgomp1:amd64 (14.1.0-1ubuntu1) ... 1144s Selecting previously unselected package gettext. 1144s Preparing to unpack .../03-gettext_0.22.5-1_amd64.deb ... 1144s Unpacking gettext (0.22.5-1) ... 1144s Selecting previously unselected package hunspell-en-us. 1144s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 1144s Unpacking hunspell-en-us (1:2020.12.07-2) ... 1144s Selecting previously unselected package libapr1t64:amd64. 1144s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_amd64.deb ... 1144s Unpacking libapr1t64:amd64 (1.7.2-3.2) ... 1144s Selecting previously unselected package libaprutil1t64:amd64. 1144s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_amd64.deb ... 1144s Unpacking libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 1144s Selecting previously unselected package libaspell15:amd64. 1144s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_amd64.deb ... 1144s Unpacking libaspell15:amd64 (0.60.8.1-1build1) ... 1145s Selecting previously unselected package libhunspell-1.7-0:amd64. 1145s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 1145s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 1145s Selecting previously unselected package libenchant-2-2:amd64. 1145s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_amd64.deb ... 1145s Unpacking libenchant-2-2:amd64 (2.3.3-2build2) ... 1145s Selecting previously unselected package libexttextcat-data. 1145s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 1145s Unpacking libexttextcat-data (3.4.7-1build1) ... 1145s Selecting previously unselected package libserf-1-1:amd64. 1145s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 1145s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 1145s Selecting previously unselected package libutf8proc3:amd64. 1145s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_amd64.deb ... 1145s Unpacking libutf8proc3:amd64 (2.9.0-1build1) ... 1145s Selecting previously unselected package libsvn1:amd64. 1145s Preparing to unpack .../13-libsvn1_1.14.3-2_amd64.deb ... 1145s Unpacking libsvn1:amd64 (1.14.3-2) ... 1145s Selecting previously unselected package libxapian30:amd64. 1145s Preparing to unpack .../14-libxapian30_1.4.22-1build1_amd64.deb ... 1145s Unpacking libxapian30:amd64 (1.4.22-1build1) ... 1145s Selecting previously unselected package libxslt1.1:amd64. 1145s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_amd64.deb ... 1145s Unpacking libxslt1.1:amd64 (1.1.39-0exp1build1) ... 1145s Selecting previously unselected package python3-aeidon. 1145s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 1145s Unpacking python3-aeidon (1.15-1) ... 1145s Selecting previously unselected package python3-all. 1145s Preparing to unpack .../17-python3-all_3.12.3-0ubuntu1_amd64.deb ... 1145s Unpacking python3-all (3.12.3-0ubuntu1) ... 1145s Selecting previously unselected package python3-soupsieve. 1145s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 1145s Unpacking python3-soupsieve (2.5-1) ... 1145s Selecting previously unselected package python3-bs4. 1145s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 1145s Unpacking python3-bs4 (4.12.3-1) ... 1145s Selecting previously unselected package python3-charset-normalizer. 1145s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 1145s Unpacking python3-charset-normalizer (3.3.2-1) ... 1145s Selecting previously unselected package python3-more-itertools. 1145s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 1145s Unpacking python3-more-itertools (10.3.0-1) ... 1145s Selecting previously unselected package python3-jaraco.functools. 1145s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 1145s Unpacking python3-jaraco.functools (4.0.0-1) ... 1145s Selecting previously unselected package python3-cheroot. 1145s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 1145s Unpacking python3-cheroot (10.0.0+ds1-2) ... 1145s Selecting previously unselected package python3-dateutil. 1145s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 1145s Unpacking python3-dateutil (2.9.0-2) ... 1145s Selecting previously unselected package python3-diff-match-patch. 1145s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 1145s Unpacking python3-diff-match-patch (20230430-1) ... 1145s Selecting previously unselected package python3-enchant. 1145s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 1145s Unpacking python3-enchant (3.2.2-1) ... 1145s Selecting previously unselected package python3-iniconfig. 1145s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 1145s Unpacking python3-iniconfig (1.1.1-2) ... 1145s Selecting previously unselected package python3-rapidfuzz. 1145s Preparing to unpack .../28-python3-rapidfuzz_3.6.2+ds-3_amd64.deb ... 1145s Unpacking python3-rapidfuzz (3.6.2+ds-3) ... 1145s Selecting previously unselected package python3-levenshtein. 1145s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_amd64.deb ... 1145s Unpacking python3-levenshtein (0.25.1-3) ... 1145s Selecting previously unselected package python3-lxml:amd64. 1145s Preparing to unpack .../30-python3-lxml_5.2.2-1_amd64.deb ... 1145s Unpacking python3-lxml:amd64 (5.2.2-1) ... 1145s Selecting previously unselected package python3-mistletoe. 1145s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 1145s Unpacking python3-mistletoe (1.3.0-1) ... 1145s Selecting previously unselected package python3-packaging. 1145s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 1145s Unpacking python3-packaging (24.1-1) ... 1145s Selecting previously unselected package python3-ply. 1145s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 1145s Unpacking python3-ply (3.11-6) ... 1145s Selecting previously unselected package python3-phply. 1145s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 1145s Unpacking python3-phply (1.2.6-1) ... 1145s Selecting previously unselected package python3-pluggy. 1145s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 1145s Unpacking python3-pluggy (1.5.0-1) ... 1145s Selecting previously unselected package python3-pytest. 1145s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 1145s Unpacking python3-pytest (7.4.4-1) ... 1146s Selecting previously unselected package python3-ruamel.yaml.clib:amd64. 1146s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_amd64.deb ... 1146s Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 1146s Selecting previously unselected package python3-ruamel.yaml. 1146s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 1146s Unpacking python3-ruamel.yaml (0.17.21-1) ... 1146s Selecting previously unselected package python3-simplejson. 1146s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_amd64.deb ... 1146s Unpacking python3-simplejson (3.19.2-1build2) ... 1146s Selecting previously unselected package python3-syrupy. 1146s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 1146s Unpacking python3-syrupy (4.6.1-1) ... 1146s Selecting previously unselected package python3-translate. 1146s Preparing to unpack .../41-python3-translate_3.13.1-1_all.deb ... 1146s Unpacking python3-translate (3.13.1-1) ... 1146s Selecting previously unselected package python3-vobject. 1146s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 1146s Unpacking python3-vobject (0.9.6.1-2) ... 1146s Selecting previously unselected package python3-xapian. 1146s Preparing to unpack .../43-python3-xapian_1.4.22-1build5_amd64.deb ... 1146s Unpacking python3-xapian (1.4.22-1build5) ... 1146s Selecting previously unselected package subversion. 1146s Preparing to unpack .../44-subversion_1.14.3-2_amd64.deb ... 1146s Unpacking subversion (1.14.3-2) ... 1146s Selecting previously unselected package python3-iniparse. 1146s Preparing to unpack .../45-python3-iniparse_0.5-2_all.deb ... 1146s Unpacking python3-iniparse (0.5-2) ... 1146s Selecting previously unselected package python3-pycountry. 1146s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 1146s Unpacking python3-pycountry (24.6.1+ds1-1) ... 1146s Selecting previously unselected package autopkgtest-satdep. 1146s Preparing to unpack .../47-2-autopkgtest-satdep.deb ... 1146s Unpacking autopkgtest-satdep (0) ... 1146s Setting up python3-more-itertools (10.3.0-1) ... 1146s Setting up python3-iniconfig (1.1.1-2) ... 1146s Setting up libxapian30:amd64 (1.4.22-1build1) ... 1146s Setting up python3-rapidfuzz (3.6.2+ds-3) ... 1147s Setting up python3-diff-match-patch (20230430-1) ... 1147s Setting up python3-jaraco.functools (4.0.0-1) ... 1147s Setting up python3-aeidon (1.15-1) ... 1147s Setting up libutf8proc3:amd64 (2.9.0-1build1) ... 1147s Setting up libaspell15:amd64 (0.60.8.1-1build1) ... 1147s Setting up python3-charset-normalizer (3.3.2-1) ... 1147s Setting up python3-ply (3.11-6) ... 1147s Setting up python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 1147s Setting up python3-all (3.12.3-0ubuntu1) ... 1147s Setting up libgomp1:amd64 (14.1.0-1ubuntu1) ... 1147s Setting up python3-simplejson (3.19.2-1build2) ... 1148s Setting up python3-packaging (24.1-1) ... 1148s Setting up emacsen-common (3.0.5) ... 1148s Setting up python3-cheroot (10.0.0+ds1-2) ... 1148s Setting up python3-pycountry (24.6.1+ds1-1) ... 1148s Setting up python3-xapian (1.4.22-1build5) ... 1148s Setting up python3-pluggy (1.5.0-1) ... 1148s Setting up python3-ruamel.yaml (0.17.21-1) ... 1149s Setting up python3-mistletoe (1.3.0-1) ... 1149s Setting up libexttextcat-data (3.4.7-1build1) ... 1149s Setting up libapr1t64:amd64 (1.7.2-3.2) ... 1149s Setting up libxslt1.1:amd64 (1.1.39-0exp1build1) ... 1149s Setting up python3-dateutil (2.9.0-2) ... 1149s Setting up python3-levenshtein (0.25.1-3) ... 1149s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 1149s Setting up python3-soupsieve (2.5-1) ... 1149s Setting up python3-iniparse (0.5-2) ... 1149s Setting up libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 1149s Setting up python3-vobject (0.9.6.1-2) ... 1149s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 1149s patterns['name'] = '[a-zA-Z0-9\-_]+' 1149s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 1149s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 1149s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 1149s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 1149s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 1149s """ 1149s Setting up gettext (0.22.5-1) ... 1149s Setting up python3-phply (1.2.6-1) ... 1150s Setting up dictionaries-common (1.29.7) ... 1150s Setting up python3-pytest (7.4.4-1) ... 1150s Setting up python3-syrupy (4.6.1-1) ... 1151s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 1151s Setting up python3-bs4 (4.12.3-1) ... 1151s Setting up python3-lxml:amd64 (5.2.2-1) ... 1151s Setting up hunspell-en-us (1:2020.12.07-2) ... 1151s Setting up libsvn1:amd64 (1.14.3-2) ... 1151s Setting up libenchant-2-2:amd64 (2.3.3-2build2) ... 1151s Setting up subversion (1.14.3-2) ... 1151s Setting up python3-enchant (3.2.2-1) ... 1151s Setting up python3-translate (3.13.1-1) ... 1152s Setting up autopkgtest-satdep (0) ... 1152s Processing triggers for man-db (2.12.1-2) ... 1153s Processing triggers for install-info (7.1-3build2) ... 1153s Processing triggers for libc-bin (2.39-0ubuntu9) ... 1153s Processing triggers for dictionaries-common (1.29.7) ... 1342s (Reading database ... 78035 files and directories currently installed.) 1342s Removing autopkgtest-satdep (0) ... 1343s autopkgtest [21:53:48]: test python3-translate: [----------------------- 1344s ============================= test session starts ============================== 1344s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 1344s cachedir: .pytest_cache 1344s rootdir: /tmp/autopkgtest.rA5Wsl/autopkgtest_tmp 1344s plugins: syrupy-4.6.1 1349s collecting ... collected 3339 items / 2 skipped 1349s 1349s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1357s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1357s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1357s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1357s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1357s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1357s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 1357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1357s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1357s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1357s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1357s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1357s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1357s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1357s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1357s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1357s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1357s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 1357s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1357s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1357s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 1357s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 1357s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1357s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 1357s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1357s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1357s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1357s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1357s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1357s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1357s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 1357s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1357s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1357s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1357s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1357s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1357s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 1357s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 1357s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 1357s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1357s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 1357s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1357s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 1357s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 1357s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 1357s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 1357s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 1357s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1357s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1357s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1357s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1357s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1357s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1357s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1357s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1357s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1357s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1357s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 1357s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 1357s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 1357s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1357s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1357s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 1357s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1357s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1357s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 1357s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 1357s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 1357s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 1357s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1357s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 1357s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1357s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1357s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 1357s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 1357s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1357s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1357s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 1357s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 1357s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1357s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1357s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1357s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1357s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1357s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1357s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1357s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1357s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1357s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1357s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1357s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1357s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1357s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1357s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1357s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1357s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 1357s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 1357s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 1357s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 1357s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 1357s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 1357s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1357s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1357s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1357s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1357s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 1357s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 1357s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 1357s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 1357s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 1357s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 1357s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 1357s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 1357s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 1357s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 1357s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 1357s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 1357s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 1357s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 1357s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 1357s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1357s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1357s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1357s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1357s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1357s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1357s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1357s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1357s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1357s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 1357s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1357s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1357s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1357s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1357s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1357s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1357s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1357s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1357s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1357s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 1357s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 1357s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 1357s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 1357s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 1357s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 1357s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 1357s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 1357s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 1357s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 1357s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 1357s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 1357s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 1357s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 1357s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 1357s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 1357s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 1357s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 1357s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 1357s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 1357s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 1357s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 1357s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 1357s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 1357s 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%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1357s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 1357s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 1357s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 1357s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 1357s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 1357s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 1357s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 1357s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 1357s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 1357s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 1357s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 1357s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 1357s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 1357s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 1357s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 1357s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 1357s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 1357s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 1357s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 1357s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 1361s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 1361s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 1361s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 1361s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 1361s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 1361s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 1362s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 1362s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 1363s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 1363s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 1363s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 1363s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 1363s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 1363s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 1363s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 1363s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 1363s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 1363s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 1363s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 1363s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 1363s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 1363s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 1363s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 1363s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 1363s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 1363s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 1363s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 1363s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 1363s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 1363s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 1363s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 1363s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 1363s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 1363s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 1363s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 1363s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 1363s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 1363s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 1363s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 1363s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 1363s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 1363s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 1363s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 1363s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 1363s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 1363s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 1363s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 1363s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 1363s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 1363s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 1363s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 1363s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 1363s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1363s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1363s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 1363s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 1363s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 1363s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 1363s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 1363s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 1363s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 1363s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1363s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1363s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1363s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1363s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1363s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1363s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1363s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1363s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1363s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1363s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1363s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1363s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1363s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1363s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1363s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1363s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1363s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1363s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1363s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1363s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1363s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 1363s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 1363s 1363s =============================== warnings summary =============================== 1363s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1363s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.rA5Wsl/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1363s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1363s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1363s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1363s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1363s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1363s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1363s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1363s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1363s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1363s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1363s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1363s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1363s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1363s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1363s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1363s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1363s Warning: Could not find accesskey for key.accesskey 1363s 1363s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1363s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1363s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1363s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1363s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1363s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.rA5Wsl/autopkgtest_tmp/tests/translate/convert/test.idml'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1363s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1363s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1363s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1363s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1363s Warning: Could not find accesskey for prop.accesskey 1363s 1363s tests/translate/convert/test_po2tmx.py: 26 warnings 1363s tests/translate/filters/test_pofilter.py: 13 warnings 1363s tests/translate/storage/test_tbx.py: 17 warnings 1363s tests/translate/storage/test_tmx.py: 24 warnings 1363s 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' 1363s 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1363s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1363s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1363s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1363s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1363s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1363s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1363s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1363s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1363s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1363s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1363s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.rA5Wsl/autopkgtest_tmp/tests/translate/convert/test.odt'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1363s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1363s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1363s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1363s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1363s Enable tracemalloc to get traceback where the object was allocated. 1363s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1363s 1363s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1363s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1363s 1363s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1363s Warning: DTD file '' does not validate 1363s 1363s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1363s --------------------------- snapshot report summary ---------------------------- 1363s 23 snapshots passed. 1363s =========================== short test summary info ============================ 1363s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1363s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1363s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1363s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 1363s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 1363s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 1363s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 1363s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1363s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1363s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1363s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1363s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1363s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1363s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1363s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1363s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1363s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1363s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1363s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1363s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1363s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1363s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1363s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1363s 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. 1363s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1363s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1363s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1363s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1363s 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 1363s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1363s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1363s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 1363s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 1363s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1363s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1363s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1363s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 1363s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 1363s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1363s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1363s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1363s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1363s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1363s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1363s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1363s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1363s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1363s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1363s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1363s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1363s ========= 3276 passed, 22 skipped, 43 xfailed, 126 warnings in 16.78s ========== 1363s autopkgtest [21:54:08]: test python3-translate: -----------------------] 1389s autopkgtest [21:54:34]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 1389s python3-translate PASS 1509s autopkgtest [21:56:34]: test python3-translate-commands: preparing testbed 1690s Reading package lists... 1690s Building dependency tree... 1690s Reading state information... 1690s Starting pkgProblemResolver with broken count: 0 1690s Starting 2 pkgProblemResolver with broken count: 0 1690s Done 1691s The following additional packages will be installed: 1691s translate-toolkit 1691s Recommended packages: 1691s translate-toolkit-doc 1691s The following NEW packages will be installed: 1691s autopkgtest-satdep translate-toolkit 1788s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 1788s Need to get 81.2 kB/82.1 kB of archives. 1788s After this operation, 225 kB of additional disk space will be used. 1788s Get:1 /tmp/autopkgtest.rA5Wsl/3-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [892 B] 1788s Get:2 http://ftpmaster.internal/ubuntu oracular/universe amd64 translate-toolkit all 3.13.1-1 [81.2 kB] 1788s Fetched 81.2 kB in 0s (1995 kB/s) 1788s Selecting previously unselected package translate-toolkit. 1788s (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 ... 78035 files and directories currently installed.) 1788s Preparing to unpack .../translate-toolkit_3.13.1-1_all.deb ... 1788s Unpacking translate-toolkit (3.13.1-1) ... 1788s Selecting previously unselected package autopkgtest-satdep. 1788s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1788s Unpacking autopkgtest-satdep (0) ... 1788s Setting up translate-toolkit (3.13.1-1) ... 1788s Setting up autopkgtest-satdep (0) ... 1788s Processing triggers for man-db (2.12.1-2) ... 1893s (Reading database ... 78205 files and directories currently installed.) 1893s Removing autopkgtest-satdep (0) ... 1893s autopkgtest [22:02:58]: test python3-translate-commands: [----------------------- 1894s ============================= test session starts ============================== 1894s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 1894s cachedir: .pytest_cache 1894s rootdir: /tmp/autopkgtest.rA5Wsl/autopkgtest_tmp 1894s plugins: syrupy-4.6.1 1899s collecting ... collected 3339 items / 2 skipped 1899s 1899s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1899s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1899s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1899s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1899s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1899s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1899s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1899s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1899s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1899s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1899s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1899s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1900s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1900s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1900s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 1900s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1900s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1900s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1900s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1900s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1900s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1900s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1900s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1900s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1900s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1900s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1900s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1900s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1900s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1900s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1900s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1900s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1900s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1900s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1901s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1901s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 1901s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1901s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1901s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 1901s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 1901s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1901s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 1901s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1901s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1901s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1901s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1901s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1901s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1901s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 1901s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1901s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1901s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1901s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1901s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1901s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1902s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1902s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 1902s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 1902s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 1902s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1902s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 1902s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1902s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 1902s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 1902s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 1902s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 1902s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 1902s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1902s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1902s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1902s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1902s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1902s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1902s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1902s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1902s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1902s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1903s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 1903s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 1903s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 1903s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1903s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1903s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 1903s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1903s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1903s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 1903s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 1903s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 1903s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 1903s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1903s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 1903s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1903s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1903s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 1903s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 1903s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1903s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1903s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 1903s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 1903s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1903s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1903s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1903s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1903s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1903s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1903s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1903s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1904s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1904s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1904s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1904s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1904s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1904s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1904s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1904s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1904s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1904s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 1904s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 1904s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 1904s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 1904s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 1904s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 1904s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1904s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1904s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1904s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1904s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 1904s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 1904s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 1904s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 1904s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 1904s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 1904s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 1904s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 1904s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 1904s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 1904s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 1904s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 1904s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 1904s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 1904s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 1904s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1904s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1904s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1904s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1904s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1904s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1904s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1904s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1904s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1904s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 1904s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1904s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1904s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1904s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1904s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1904s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1904s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1904s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1904s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1904s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1904s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 1904s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 1904s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 1905s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 1905s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 1905s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 1905s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 1905s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 1905s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 1905s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 1905s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 1905s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 1905s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 1905s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 1905s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 1905s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 1905s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 1905s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 1905s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 1905s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 1905s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 1905s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 1905s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 1905s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 1905s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 1905s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 1905s 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%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 1905s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 1905s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 1905s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 1905s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 1905s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 1905s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 1905s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 1905s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 1905s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 1905s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 1905s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 1905s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 1905s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 1905s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 1906s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 1906s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji XFAIL [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 1906s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 1906s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 1906s tests/translate/storage/test_poheader.py::test_project PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 1906s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 1907s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 1907s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 1907s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 1907s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 1907s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 1907s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 1907s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 1908s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 1908s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 1908s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 1908s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 1908s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 1908s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 74%] 1908s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 1908s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji XFAIL [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 1908s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 78%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 1908s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 1908s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 1908s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 1908s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 1908s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 1908s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 82%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 1908s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 1908s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 1909s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 1909s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 1909s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 1909s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 1909s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 1909s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 1909s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 1909s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 1909s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 1909s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 1909s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 1909s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 1909s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 1909s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 1909s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 1909s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 1909s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 87%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 1909s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 1909s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 1909s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 1909s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 1909s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 1910s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 1910s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 1910s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 1910s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 1910s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 1910s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 1910s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 1910s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 1910s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 1910s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 1910s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 1910s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 1910s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 1910s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 1910s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1910s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1910s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 1910s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 1910s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 1910s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 1910s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 1910s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 1911s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 1911s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 1911s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 1911s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 1911s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 1911s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 1911s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 1911s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 1911s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 1911s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 1911s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1911s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1911s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1911s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1911s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1911s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1911s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1911s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1911s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1912s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1912s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1912s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1912s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1912s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1912s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1912s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1912s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1912s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1912s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1912s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1912s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1912s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1912s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 1912s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 1912s 1912s =============================== warnings summary =============================== 1912s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1912s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.rA5Wsl/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1912s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1912s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1912s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1912s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1912s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1912s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1912s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1912s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1912s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1912s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1912s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1912s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1912s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1912s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1912s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1912s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1912s Warning: Could not find accesskey for key.accesskey 1912s 1912s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1912s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1912s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1912s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1912s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1912s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.rA5Wsl/autopkgtest_tmp/tests/translate/convert/test.idml'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1912s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1912s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1912s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1912s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1912s Warning: Could not find accesskey for prop.accesskey 1912s 1912s tests/translate/convert/test_po2tmx.py: 26 warnings 1912s tests/translate/filters/test_pofilter.py: 13 warnings 1912s tests/translate/storage/test_tbx.py: 17 warnings 1912s tests/translate/storage/test_tmx.py: 24 warnings 1912s 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' 1912s 1912s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1912s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1912s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1912s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1912s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1912s Enable tracemalloc to get traceback where the object was allocated. 1912s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1912s 1913s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1913s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1913s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1913s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1913s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1913s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1913s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1913s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1913s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1913s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.rA5Wsl/autopkgtest_tmp/tests/translate/convert/test.odt'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1913s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1913s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1913s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1913s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1913s Enable tracemalloc to get traceback where the object was allocated. 1913s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1913s 1913s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1913s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1913s 1913s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1913s Warning: DTD file '' does not validate 1913s 1913s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1913s --------------------------- snapshot report summary ---------------------------- 1913s 23 snapshots passed. 1913s =========================== short test summary info ============================ 1913s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1913s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1913s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1913s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1913s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1913s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1913s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1913s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1913s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1913s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1913s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1913s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1913s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1913s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1913s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1913s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1913s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1913s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1913s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1913s 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. 1913s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1913s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1913s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1913s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1913s 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 1913s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1913s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1913s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 1913s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 1913s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1913s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1913s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1913s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji - Incompatible wrapping with gettext, see #5251 1913s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 1913s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1913s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1913s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1913s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1913s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1913s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1913s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1913s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1913s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1913s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1913s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1913s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1913s ========== 3295 passed, 3 skipped, 43 xfailed, 126 warnings in 18.95s ========== 1913s autopkgtest [22:03:18]: test python3-translate-commands: -----------------------] 1914s python3-translate-commands PASS 1914s autopkgtest [22:03:19]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 1914s autopkgtest [22:03:19]: @@@@@@@@@@@@@@@@@@@@ summary 1914s translate-toolkit PASS 1914s python3-translate PASS 1914s python3-translate-commands PASS 1929s nova [W] Skipping flock for amd64 1929s Creating nova instance adt-oracular-amd64-translate-toolkit-20240713-213125-juju-7f2275-prod-proposed-migration-environment-3-b70654f5-8f89-4e19-abac-33ab93797729 from image adt/ubuntu-oracular-amd64-server-20240713.img (UUID 2b7d1bd9-0b2c-4e9e-aec2-94222fb76842)... 1929s nova [W] Skipping flock for amd64 1929s Creating nova instance adt-oracular-amd64-translate-toolkit-20240713-213125-juju-7f2275-prod-proposed-migration-environment-3-b70654f5-8f89-4e19-abac-33ab93797729 from image adt/ubuntu-oracular-amd64-server-20240713.img (UUID 2b7d1bd9-0b2c-4e9e-aec2-94222fb76842)...