0s autopkgtest [21:39:40]: starting date and time: 2024-03-20 21:39:40+0000 0s autopkgtest [21:39:40]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [21:39:40]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.5jdgtga9/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:pytest --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=pytest/8.0.2-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos02-ppc64el-13.secgroup --name adt-noble-ppc64el-translate-toolkit-20240320-213940-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-ppc64el-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,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 167s autopkgtest [21:42:27]: testbed dpkg architecture: ppc64el 167s autopkgtest [21:42:27]: testbed apt version: 2.7.12 167s autopkgtest [21:42:27]: @@@@@@@@@@@@@@@@@@@@ test bed setup 168s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 168s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [500 kB] 168s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3811 kB] 169s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 169s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.9 kB] 169s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [684 kB] 169s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 169s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 169s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 169s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4161 kB] 169s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 169s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [58.6 kB] 169s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 173s Fetched 9406 kB in 3s (3585 kB/s) 173s Reading package lists... 176s Reading package lists... 176s Building dependency tree... 176s Reading state information... 176s Calculating upgrade... 176s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 176s Reading package lists... 177s Building dependency tree... 177s Reading state information... 177s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 178s sh: Attempting to set up Debian/Ubuntu apt sources automatically 178s sh: Distribution appears to be Ubuntu 179s Reading package lists... 179s Building dependency tree... 179s Reading state information... 179s eatmydata is already the newest version (131-1). 179s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 179s Reading package lists... 179s Building dependency tree... 179s Reading state information... 179s dbus is already the newest version (1.14.10-4ubuntu1). 179s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 179s Reading package lists... 179s Building dependency tree... 179s Reading state information... 180s rng-tools-debian is already the newest version (2.4). 180s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 180s Reading package lists... 180s Building dependency tree... 180s Reading state information... 180s The following packages will be REMOVED: 180s cloud-init* python3-configobj* python3-debconf* 180s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 180s After this operation, 3252 kB disk space will be freed. 180s (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 ... 70095 files and directories currently installed.) 180s Removing cloud-init (24.1.1-0ubuntu1) ... 181s Removing python3-configobj (5.0.8-3) ... 181s Removing python3-debconf (1.5.86) ... 181s Processing triggers for man-db (2.12.0-3) ... 182s (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 ... 69706 files and directories currently installed.) 182s Purging configuration files for cloud-init (24.1.1-0ubuntu1) ... 182s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 182s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 182s invoke-rc.d: policy-rc.d denied execution of try-restart. 183s Reading package lists... 183s Building dependency tree... 183s Reading state information... 183s linux-generic is already the newest version (6.8.0-11.11+1). 183s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 183s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 183s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 183s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 186s Reading package lists... 186s Reading package lists... 186s Building dependency tree... 186s Reading state information... 187s Calculating upgrade... 187s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 187s Reading package lists... 187s Building dependency tree... 187s Reading state information... 187s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 187s autopkgtest [21:42:47]: rebooting testbed after setup commands that affected boot 367s autopkgtest [21:45:47]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Wed Feb 14 00:33:03 UTC 2024 370s autopkgtest [21:45:50]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 373s Get:1 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (dsc) [3065 B] 373s Get:2 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (tar) [1203 kB] 373s Get:3 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (diff) [24.3 kB] 373s gpgv: Signature made Sun Feb 18 05:01:57 2024 UTC 373s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 373s gpgv: Can't check signature: No public key 373s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1.dsc: no acceptable signature found 373s autopkgtest [21:45:53]: testing package translate-toolkit version 3.12.2-1 374s autopkgtest [21:45:54]: build not needed 376s autopkgtest [21:45:56]: test translate-toolkit: preparing testbed 382s Reading package lists... 382s Building dependency tree... 382s Reading state information... 382s Starting pkgProblemResolver with broken count: 0 382s Starting 2 pkgProblemResolver with broken count: 0 382s Done 382s The following additional packages will be installed: 382s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 382s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 382s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 382s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 382s python3-diff-match-patch python3-enchant python3-iniparse 382s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 382s python3-more-itertools python3-phply python3-ply python3-pycountry 382s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 382s python3-soupsieve python3-translate python3-vobject python3-xapian 382s subversion translate-toolkit 382s Suggested packages: 382s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 382s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 382s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 382s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 382s libapache2-mod-svn subversion-tools 382s Recommended packages: 382s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 382s python3-cssselect python3-html5lib translate-toolkit-doc 382s The following NEW packages will be installed: 382s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 382s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 382s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 382s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 382s python3-diff-match-patch python3-enchant python3-iniparse 382s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 382s python3-more-itertools python3-phply python3-ply python3-pycountry 382s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 382s python3-soupsieve python3-translate python3-vobject python3-xapian 382s subversion translate-toolkit 382s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 382s Need to get 11.1 MB/11.1 MB of archives. 382s After this operation, 52.8 MB of additional disk space will be used. 382s Get:1 /tmp/autopkgtest.mwn32D/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [868 B] 382s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 383s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el dictionaries-common all 1.29.7 [188 kB] 383s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el libgomp1 ppc64el 14-20240303-1ubuntu1 [161 kB] 383s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el gettext ppc64el 0.21-14ubuntu1 [979 kB] 383s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el hunspell-en-us all 1:2020.12.07-2 [280 kB] 383s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el libapr1 ppc64el 1.7.2-3 [130 kB] 383s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el libaprutil1 ppc64el 1.6.3-1ubuntu1 [110 kB] 383s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libaspell15 ppc64el 0.60.8.1-1 [466 kB] 383s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10 [309 kB] 383s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libenchant-2-2 ppc64el 2.3.3-2 [58.4 kB] 383s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libexttextcat-data all 3.4.7-1 [235 kB] 383s Get:13 http://ftpmaster.internal/ubuntu noble/universe ppc64el libserf-1-1 ppc64el 1.3.10-1 [55.4 kB] 383s Get:14 http://ftpmaster.internal/ubuntu noble/universe ppc64el libutf8proc3 ppc64el 2.9.0-1 [71.6 kB] 383s Get:15 http://ftpmaster.internal/ubuntu noble/universe ppc64el libsvn1 ppc64el 1.14.3-1build2 [1640 kB] 384s Get:16 http://ftpmaster.internal/ubuntu noble/universe ppc64el libxapian30 ppc64el 1.4.22-1 [825 kB] 384s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.35-1 [185 kB] 384s Get:18 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-aeidon all 1.11-2 [221 kB] 384s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-soupsieve all 2.5-1 [33.0 kB] 384s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-bs4 all 4.12.3-1 [109 kB] 384s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 384s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-jaraco.functools all 4.0.0-1 [10.7 kB] 384s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 384s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 384s Get:25 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-diff-match-patch all 20230430-1 [33.1 kB] 384s Get:26 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-enchant all 3.2.2-1 [34.0 kB] 384s Get:27 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-levenshtein ppc64el 0.12.2-3 [53.9 kB] 384s Get:28 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-lxml ppc64el 5.1.0-1 [2191 kB] 384s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-mistletoe all 1.3.0-1 [38.0 kB] 384s Get:30 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-ply all 3.11-6 [46.5 kB] 384s Get:31 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 384s Get:32 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.8-1 [235 kB] 384s Get:33 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 384s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-simplejson ppc64el 3.19.2-1build1 [70.4 kB] 384s Get:35 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-translate all 3.12.2-1 [317 kB] 384s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-vobject all 0.9.6.1-2 [40.6 kB] 384s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-xapian ppc64el 1.4.22-1build2 [519 kB] 384s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el subversion ppc64el 1.14.3-1build2 [945 kB] 384s Get:39 http://ftpmaster.internal/ubuntu noble/universe ppc64el translate-toolkit all 3.12.2-1 [88.2 kB] 384s Get:40 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniparse all 0.5-2 [20.0 kB] 384s Get:41 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 385s Preconfiguring packages ... 385s Fetched 11.1 MB in 2s (5044 kB/s) 385s Selecting previously unselected package emacsen-common. 385s (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 ... 69651 files and directories currently installed.) 385s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 385s Unpacking emacsen-common (3.0.5) ... 385s Selecting previously unselected package dictionaries-common. 385s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 385s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 385s Unpacking dictionaries-common (1.29.7) ... 385s Selecting previously unselected package libgomp1:ppc64el. 385s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_ppc64el.deb ... 385s Unpacking libgomp1:ppc64el (14-20240303-1ubuntu1) ... 385s Selecting previously unselected package gettext. 385s Preparing to unpack .../03-gettext_0.21-14ubuntu1_ppc64el.deb ... 385s Unpacking gettext (0.21-14ubuntu1) ... 385s Selecting previously unselected package hunspell-en-us. 385s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 385s Unpacking hunspell-en-us (1:2020.12.07-2) ... 385s Selecting previously unselected package libapr1:ppc64el. 385s Preparing to unpack .../05-libapr1_1.7.2-3_ppc64el.deb ... 385s Unpacking libapr1:ppc64el (1.7.2-3) ... 385s Selecting previously unselected package libaprutil1:ppc64el. 385s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_ppc64el.deb ... 385s Unpacking libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 385s Selecting previously unselected package libaspell15:ppc64el. 385s Preparing to unpack .../07-libaspell15_0.60.8.1-1_ppc64el.deb ... 385s Unpacking libaspell15:ppc64el (0.60.8.1-1) ... 385s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 385s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_ppc64el.deb ... 385s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 385s Selecting previously unselected package libenchant-2-2:ppc64el. 385s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_ppc64el.deb ... 385s Unpacking libenchant-2-2:ppc64el (2.3.3-2) ... 385s Selecting previously unselected package libexttextcat-data. 385s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 385s Unpacking libexttextcat-data (3.4.7-1) ... 385s Selecting previously unselected package libserf-1-1:ppc64el. 385s Preparing to unpack .../11-libserf-1-1_1.3.10-1_ppc64el.deb ... 385s Unpacking libserf-1-1:ppc64el (1.3.10-1) ... 385s Selecting previously unselected package libutf8proc3:ppc64el. 385s Preparing to unpack .../12-libutf8proc3_2.9.0-1_ppc64el.deb ... 385s Unpacking libutf8proc3:ppc64el (2.9.0-1) ... 385s Selecting previously unselected package libsvn1:ppc64el. 385s Preparing to unpack .../13-libsvn1_1.14.3-1build2_ppc64el.deb ... 385s Unpacking libsvn1:ppc64el (1.14.3-1build2) ... 385s Selecting previously unselected package libxapian30:ppc64el. 385s Preparing to unpack .../14-libxapian30_1.4.22-1_ppc64el.deb ... 385s Unpacking libxapian30:ppc64el (1.4.22-1) ... 386s Selecting previously unselected package libxslt1.1:ppc64el. 386s Preparing to unpack .../15-libxslt1.1_1.1.35-1_ppc64el.deb ... 386s Unpacking libxslt1.1:ppc64el (1.1.35-1) ... 386s Selecting previously unselected package python3-aeidon. 386s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 386s Unpacking python3-aeidon (1.11-2) ... 386s Selecting previously unselected package python3-soupsieve. 386s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 386s Unpacking python3-soupsieve (2.5-1) ... 386s Selecting previously unselected package python3-bs4. 386s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 386s Unpacking python3-bs4 (4.12.3-1) ... 386s Selecting previously unselected package python3-more-itertools. 386s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 386s Unpacking python3-more-itertools (10.2.0-1) ... 386s Selecting previously unselected package python3-jaraco.functools. 386s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 386s Unpacking python3-jaraco.functools (4.0.0-1) ... 386s Selecting previously unselected package python3-cheroot. 386s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-1_all.deb ... 386s Unpacking python3-cheroot (10.0.0+ds1-1) ... 386s Selecting previously unselected package python3-dateutil. 386s Preparing to unpack .../22-python3-dateutil_2.8.2-3_all.deb ... 386s Unpacking python3-dateutil (2.8.2-3) ... 386s Selecting previously unselected package python3-diff-match-patch. 386s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 386s Unpacking python3-diff-match-patch (20230430-1) ... 386s Selecting previously unselected package python3-enchant. 386s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 386s Unpacking python3-enchant (3.2.2-1) ... 386s Selecting previously unselected package python3-levenshtein. 386s Preparing to unpack .../25-python3-levenshtein_0.12.2-3_ppc64el.deb ... 386s Unpacking python3-levenshtein (0.12.2-3) ... 386s Selecting previously unselected package python3-lxml:ppc64el. 386s Preparing to unpack .../26-python3-lxml_5.1.0-1_ppc64el.deb ... 386s Unpacking python3-lxml:ppc64el (5.1.0-1) ... 386s Selecting previously unselected package python3-mistletoe. 386s Preparing to unpack .../27-python3-mistletoe_1.3.0-1_all.deb ... 386s Unpacking python3-mistletoe (1.3.0-1) ... 386s Selecting previously unselected package python3-ply. 386s Preparing to unpack .../28-python3-ply_3.11-6_all.deb ... 386s Unpacking python3-ply (3.11-6) ... 386s Selecting previously unselected package python3-phply. 386s Preparing to unpack .../29-python3-phply_1.2.6-1_all.deb ... 386s Unpacking python3-phply (1.2.6-1) ... 386s Selecting previously unselected package python3-ruamel.yaml.clib:ppc64el. 386s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.8-1_ppc64el.deb ... 386s Unpacking python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 386s Selecting previously unselected package python3-ruamel.yaml. 386s Preparing to unpack .../31-python3-ruamel.yaml_0.17.21-1_all.deb ... 386s Unpacking python3-ruamel.yaml (0.17.21-1) ... 386s Selecting previously unselected package python3-simplejson. 386s Preparing to unpack .../32-python3-simplejson_3.19.2-1build1_ppc64el.deb ... 386s Unpacking python3-simplejson (3.19.2-1build1) ... 386s Selecting previously unselected package python3-translate. 386s Preparing to unpack .../33-python3-translate_3.12.2-1_all.deb ... 386s Unpacking python3-translate (3.12.2-1) ... 386s Selecting previously unselected package python3-vobject. 386s Preparing to unpack .../34-python3-vobject_0.9.6.1-2_all.deb ... 386s Unpacking python3-vobject (0.9.6.1-2) ... 386s Selecting previously unselected package python3-xapian. 386s Preparing to unpack .../35-python3-xapian_1.4.22-1build2_ppc64el.deb ... 386s Unpacking python3-xapian (1.4.22-1build2) ... 386s Selecting previously unselected package subversion. 386s Preparing to unpack .../36-subversion_1.14.3-1build2_ppc64el.deb ... 386s Unpacking subversion (1.14.3-1build2) ... 386s Selecting previously unselected package translate-toolkit. 386s Preparing to unpack .../37-translate-toolkit_3.12.2-1_all.deb ... 386s Unpacking translate-toolkit (3.12.2-1) ... 386s Selecting previously unselected package python3-iniparse. 386s Preparing to unpack .../38-python3-iniparse_0.5-2_all.deb ... 386s Unpacking python3-iniparse (0.5-2) ... 386s Selecting previously unselected package python3-pycountry. 386s Preparing to unpack .../39-python3-pycountry_23.12.11+ds1-2_all.deb ... 386s Unpacking python3-pycountry (23.12.11+ds1-2) ... 386s Selecting previously unselected package autopkgtest-satdep. 386s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 386s Unpacking autopkgtest-satdep (0) ... 387s Setting up python3-more-itertools (10.2.0-1) ... 387s Setting up libxapian30:ppc64el (1.4.22-1) ... 387s Setting up python3-diff-match-patch (20230430-1) ... 387s Setting up python3-jaraco.functools (4.0.0-1) ... 387s Setting up python3-aeidon (1.11-2) ... 387s Setting up libutf8proc3:ppc64el (2.9.0-1) ... 387s Setting up libaspell15:ppc64el (0.60.8.1-1) ... 387s Setting up python3-ply (3.11-6) ... 387s Setting up python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 387s Setting up libapr1:ppc64el (1.7.2-3) ... 387s Setting up libgomp1:ppc64el (14-20240303-1ubuntu1) ... 387s Setting up python3-simplejson (3.19.2-1build1) ... 388s Setting up emacsen-common (3.0.5) ... 388s Setting up python3-cheroot (10.0.0+ds1-1) ... 388s Setting up python3-pycountry (23.12.11+ds1-2) ... 388s Setting up python3-xapian (1.4.22-1build2) ... 388s Setting up python3-ruamel.yaml (0.17.21-1) ... 388s Setting up python3-mistletoe (1.3.0-1) ... 389s Setting up libexttextcat-data (3.4.7-1) ... 389s Setting up libxslt1.1:ppc64el (1.1.35-1) ... 389s Setting up python3-dateutil (2.8.2-3) ... 389s Setting up python3-levenshtein (0.12.2-3) ... 389s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 389s Setting up python3-soupsieve (2.5-1) ... 389s Setting up python3-iniparse (0.5-2) ... 389s Setting up libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 389s Setting up python3-vobject (0.9.6.1-2) ... 389s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 389s patterns['name'] = '[a-zA-Z0-9\-_]+' 389s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 389s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 389s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 389s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 389s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 389s """ 389s Setting up gettext (0.21-14ubuntu1) ... 389s Setting up python3-phply (1.2.6-1) ... 390s Setting up dictionaries-common (1.29.7) ... 390s Setting up libserf-1-1:ppc64el (1.3.10-1) ... 390s Setting up python3-bs4 (4.12.3-1) ... 390s Setting up python3-lxml:ppc64el (5.1.0-1) ... 390s Setting up hunspell-en-us (1:2020.12.07-2) ... 390s Setting up libsvn1:ppc64el (1.14.3-1build2) ... 390s Setting up libenchant-2-2:ppc64el (2.3.3-2) ... 390s Setting up subversion (1.14.3-1build2) ... 390s Setting up python3-enchant (3.2.2-1) ... 390s Setting up python3-translate (3.12.2-1) ... 391s Setting up translate-toolkit (3.12.2-1) ... 391s Setting up autopkgtest-satdep (0) ... 391s Processing triggers for man-db (2.12.0-3) ... 392s Processing triggers for install-info (7.1-3) ... 392s Processing triggers for libc-bin (2.39-0ubuntu2) ... 392s Processing triggers for dictionaries-common (1.29.7) ... 395s (Reading database ... 73024 files and directories currently installed.) 395s Removing autopkgtest-satdep (0) ... 396s autopkgtest [21:46:16]: test translate-toolkit: [----------------------- 396s ========= SMOKE TEST: /usr/bin/android2po =========== 396s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 396s 396s Convert Android string files to Gettext PO localization files. See: 396s http://docs.translatehouse.org/projects/translate- 396s toolkit/en/latest/commands/android2po.html for examples and usage 396s instructions. 396s 396s Options: 396s --version show program's version number and exit 396s -h, --help show this help message and exit 396s --manpage output a manpage based on the help 396s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 396s --errorlevel=ERRORLEVEL 396s show errorlevel as: none, message, exception, 396s traceback 396s -i INPUT, --input=INPUT 396s read from INPUT in xml format 396s -x EXCLUDE, --exclude=EXCLUDE 396s exclude names matching EXCLUDE from input paths 396s -o OUTPUT, --output=OUTPUT 396s write to OUTPUT in po, pot formats 396s -t TEMPLATE, --template=TEMPLATE 396s read from TEMPLATE in xml format 396s -S, --timestamp skip conversion if the output file has newer timestamp 396s --duplicates=DUPLICATESTYLE 396s what to do with duplicate strings (identical source 396s text): merge, msgctxt (default: 'msgctxt') 396s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 396s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 396s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 396s input files [input files ...] 396s 396s positional arguments: 396s input files 396s 396s options: 396s -h, --help show this help message and exit 396s -d TMDB_FILE, --tmdb TMDB_FILE 396s translation memory database file (default: tm.db) 396s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 396s source language of translation files (default: en) 396s -t TARGET_LANG, --import-target-lang TARGET_LANG 396s target language of translation files 396s ========= SMOKE TEST: /usr/bin/buildxpi =========== 396s usage: Usage: buildxpi.py [] [ ...] 396s 396s positional arguments: 396s langs 396s 396s options: 396s -h, --help show this help message and exit 396s -L L10NBASE, --l10n-base L10NBASE 396s The directory containing the subdirectory. 396s -o OUTPUTDIR, --output-dir OUTPUTDIR 396s The directory to copy the built XPI to (default: 396s current directory). 396s -p MOZPRODUCT, --mozproduct MOZPRODUCT 396s The Mozilla product name (default: "browser"). 396s -s SRCDIR, --src SRCDIR 396s The directory containing the Mozilla l10n sources. 396s -d, --delete-dest Delete output XPI if it already exists. 396s -v, --verbose Be more noisy 396s --soft-max-version Override a fixed max version with one to cover the 396s whole cycle e.g. 24.0a1 becomes 24.0.* 396s ========= SMOKE TEST: /usr/bin/csv2po =========== 396s 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] 396s 396s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 396s See: http://docs.translatehouse.org/projects/translate- 396s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 396s 396s Options: 396s --version show program's version number and exit 396s -h, --help show this help message and exit 396s --manpage output a manpage based on the help 396s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 396s --errorlevel=ERRORLEVEL 396s show errorlevel as: none, message, exception, 396s traceback 396s -i INPUT, --input=INPUT 396s read from INPUT in csv format 396s -x EXCLUDE, --exclude=EXCLUDE 396s exclude names matching EXCLUDE from input paths 396s -o OUTPUT, --output=OUTPUT 396s write to OUTPUT in po, pot formats 396s -t TEMPLATE, --template=TEMPLATE 396s read from TEMPLATE in po, pot, pot formats 396s -S, --timestamp skip conversion if the output file has newer timestamp 396s -P, --pot output PO Templates (.pot) rather than PO files (.po) 396s --charset=CHARSET set charset to decode from csv files 396s --columnorder=COLUMNORDER 396s specify the order and position of columns 396s (location,source,target) 396s --duplicates=DUPLICATESTYLE 396s what to do with duplicate strings (identical source 396s text): merge, msgctxt (default: 'msgctxt') 397s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 397s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 397s 397s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 397s glossary file. See: http://docs.translatehouse.org/projects/translate- 397s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 397s 397s Options: 397s --version show program's version number and exit 397s -h, --help show this help message and exit 397s --manpage output a manpage based on the help 397s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 397s --errorlevel=ERRORLEVEL 397s show errorlevel as: none, message, exception, 397s traceback 397s -i INPUT, --input=INPUT 397s read from INPUT in csv format 397s -x EXCLUDE, --exclude=EXCLUDE 397s exclude names matching EXCLUDE from input paths 397s -o OUTPUT, --output=OUTPUT 397s write to OUTPUT in tbx format 397s -S, --timestamp skip conversion if the output file has newer timestamp 397s --charset=CHARSET set charset to decode from csv files 397s --columnorder=COLUMNORDER 397s specify the order and position of columns 397s (comment,source,target) 397s ========= SMOKE TEST: /usr/bin/dtd2po =========== 397s 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] 397s 397s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 397s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 397s this module You can convert back to .dtd using po2dtd.py. 397s 397s Options: 397s --version show program's version number and exit 397s -h, --help show this help message and exit 397s --manpage output a manpage based on the help 397s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 397s --errorlevel=ERRORLEVEL 397s show errorlevel as: none, message, exception, 397s traceback 397s -i INPUT, --input=INPUT 397s read from INPUT in dtd format 397s -x EXCLUDE, --exclude=EXCLUDE 397s exclude names matching EXCLUDE from input paths 397s -o OUTPUT, --output=OUTPUT 397s write to OUTPUT in po, pot formats 397s -t TEMPLATE, --template=TEMPLATE 397s read from TEMPLATE in dtd format 397s -S, --timestamp skip conversion if the output file has newer timestamp 397s -P, --pot output PO Templates (.pot) rather than PO files (.po) 397s --duplicates=DUPLICATESTYLE 397s what to do with duplicate strings (identical source 397s text): merge, msgctxt (default: 'msgctxt') 397s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 397s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 397s 397s Convert flat XML files to Gettext PO localization files. See: 397s http://docs.translatehouse.org/projects/translate- 397s toolkit/en/latest/commands/flatxml2po.html for examples and usage 397s instructions. 397s 397s Options: 397s --version show program's version number and exit 397s -h, --help show this help message and exit 397s --manpage output a manpage based on the help 397s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 397s --errorlevel=ERRORLEVEL 397s show errorlevel as: none, message, exception, 397s traceback 397s -i INPUT, --input=INPUT 397s read from INPUT in xml format 397s -x EXCLUDE, --exclude=EXCLUDE 397s exclude names matching EXCLUDE from input paths 397s -o OUTPUT, --output=OUTPUT 397s write to OUTPUT in po, pot formats 397s -S, --timestamp skip conversion if the output file has newer timestamp 397s -r ROOT, --root=ROOT name of the XML root element (default: "root") 397s -v VALUE, --value=VALUE 397s name of the XML value element (default: "str") 397s -k KEY, --key=KEY name of the XML key attribute (default: "key") 397s -n NS, --namespace=NS 397s XML namespace uri (default: None) 397s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 397s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 397s [--delete-dest] [-v] 397s 397s options: 397s -h, --help show this help message and exit 397s -s SRCDIR, --src SRCDIR 397s The directory containing the Mozilla l10n sources. 397s -d DESTDIR, --dest DESTDIR 397s The destination directory to copy the en-US locale 397s files to. 397s -p MOZPRODUCT, --mozproduct MOZPRODUCT 397s The Mozilla product name. 397s --delete-dest Delete the destination directory (if it exists). 397s -v, --verbose Be more noisy 397s ========= SMOKE TEST: /usr/bin/html2po =========== 397s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 397s 397s Convert HTML files to Gettext PO localization files. See: 397s http://docs.translatehouse.org/projects/translate- 397s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 397s 397s Options: 397s --version show program's version number and exit 397s -h, --help show this help message and exit 397s --manpage output a manpage based on the help 397s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 397s --errorlevel=ERRORLEVEL 397s show errorlevel as: none, message, exception, 397s traceback 397s -i INPUT, --input=INPUT 397s read from INPUT in htm, html, xhtml formats 397s -x EXCLUDE, --exclude=EXCLUDE 397s exclude names matching EXCLUDE from input paths 397s -o OUTPUT, --output=OUTPUT 397s write to OUTPUT in po, pot formats 397s -S, --timestamp skip conversion if the output file has newer timestamp 397s -P, --pot output PO Templates (.pot) rather than PO files (.po) 397s --keepcomments preserve html comments as translation notes in the 397s output 397s --duplicates=DUPLICATESTYLE 397s what to do with duplicate strings (identical source 397s text): merge, msgctxt (default: 'msgctxt') 397s --multifile=MULTIFILESTYLE 397s how to split po/pot files (single, toplevel or 397s onefile) 397s ========= SMOKE TEST: /usr/bin/ical2po =========== 397s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 397s EPOCH = datetime.datetime.utcfromtimestamp(0) 398s 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] 398s 398s Convert iCalendar files to Gettext PO localization files. See: 398s http://docs.translatehouse.org/projects/translate- 398s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 398s 398s Options: 398s --version show program's version number and exit 398s -h, --help show this help message and exit 398s --manpage output a manpage based on the help 398s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 398s --errorlevel=ERRORLEVEL 398s show errorlevel as: none, message, exception, 398s traceback 398s -i INPUT, --input=INPUT 398s read from INPUT in ics format 398s -x EXCLUDE, --exclude=EXCLUDE 398s exclude names matching EXCLUDE from input paths 398s -o OUTPUT, --output=OUTPUT 398s write to OUTPUT in po, pot formats 398s -t TEMPLATE, --template=TEMPLATE 398s read from TEMPLATE in ics format 398s -S, --timestamp skip conversion if the output file has newer timestamp 398s -P, --pot output PO Templates (.pot) rather than PO files (.po) 398s --duplicates=DUPLICATESTYLE 398s what to do with duplicate strings (identical source 398s text): merge, msgctxt (default: 'msgctxt') 398s ========= SMOKE TEST: /usr/bin/idml2po =========== 398s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 398s 398s Convert IDML files to PO localization files. 398s 398s Options: 398s --version show program's version number and exit 398s -h, --help show this help message and exit 398s --manpage output a manpage based on the help 398s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 398s --errorlevel=ERRORLEVEL 398s show errorlevel as: none, message, exception, 398s traceback 398s -i INPUT, --input=INPUT 398s read from INPUT in idml format 398s -x EXCLUDE, --exclude=EXCLUDE 398s exclude names matching EXCLUDE from input paths 398s -o OUTPUT, --output=OUTPUT 398s write to OUTPUT in po, pot formats 398s -S, --timestamp skip conversion if the output file has newer timestamp 398s ========= SMOKE TEST: /usr/bin/ini2po =========== 398s 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] 398s 398s Convert .ini files to Gettext PO localization files. See: 398s http://docs.translatehouse.org/projects/translate- 398s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 398s 398s Options: 398s --version show program's version number and exit 398s -h, --help show this help message and exit 398s --manpage output a manpage based on the help 398s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 398s --errorlevel=ERRORLEVEL 398s show errorlevel as: none, message, exception, 398s traceback 398s -i INPUT, --input=INPUT 398s read from INPUT in ini, isl, iss formats 398s -x EXCLUDE, --exclude=EXCLUDE 398s exclude names matching EXCLUDE from input paths 398s -o OUTPUT, --output=OUTPUT 398s write to OUTPUT in po, pot formats 398s -t TEMPLATE, --template=TEMPLATE 398s read from TEMPLATE in ini, isl, iss formats 398s -S, --timestamp skip conversion if the output file has newer timestamp 398s -P, --pot output PO Templates (.pot) rather than PO files (.po) 398s --duplicates=DUPLICATESTYLE 398s what to do with duplicate strings (identical source 398s text): merge, msgctxt (default: 'msgctxt') 398s ========= SMOKE TEST: /usr/bin/json2po =========== 398s 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] 398s 398s Convert JSON files to Gettext PO localization files. See: 398s http://docs.translatehouse.org/projects/translate- 398s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 398s 398s Options: 398s --version show program's version number and exit 398s -h, --help show this help message and exit 398s --manpage output a manpage based on the help 398s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 398s --errorlevel=ERRORLEVEL 398s show errorlevel as: none, message, exception, 398s traceback 398s -i INPUT, --input=INPUT 398s read from INPUT in json format 398s -x EXCLUDE, --exclude=EXCLUDE 398s exclude names matching EXCLUDE from input paths 398s -o OUTPUT, --output=OUTPUT 398s write to OUTPUT in po, pot formats 398s -t TEMPLATE, --template=TEMPLATE 398s read from TEMPLATE in json format 398s -S, --timestamp skip conversion if the output file has newer timestamp 398s -P, --pot output PO Templates (.pot) rather than PO files (.po) 398s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 398s everything) 398s --duplicates=DUPLICATESTYLE 398s what to do with duplicate strings (identical source 398s text): merge, msgctxt (default: 'msgctxt') 398s ========= SMOKE TEST: /usr/bin/md2po =========== 399s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 399s 399s Convert Markdown files to Gettext PO localization files. See: 399s http://docs.translatehouse.org/projects/translate- 399s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 399s 399s Options: 399s --version show program's version number and exit 399s -h, --help show this help message and exit 399s --manpage output a manpage based on the help 399s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 399s --errorlevel=ERRORLEVEL 399s show errorlevel as: none, message, exception, 399s traceback 399s -i INPUT, --input=INPUT 399s read from INPUT in markdown, md, text, txt formats 399s -x EXCLUDE, --exclude=EXCLUDE 399s exclude names matching EXCLUDE from input paths 399s -o OUTPUT, --output=OUTPUT 399s write to OUTPUT in po, pot formats 399s -S, --timestamp skip conversion if the output file has newer timestamp 399s -P, --pot output PO Templates (.pot) rather than PO files (.po) 399s --duplicates=DUPLICATESTYLE 399s what to do with duplicate strings (identical source 399s text): merge, msgctxt (default: 'msgctxt') 399s --multifile=MULTIFILESTYLE 399s how to split po/pot files (single, toplevel or 399s onefile) 399s ========= SMOKE TEST: /usr/bin/moz2po =========== 399s 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] 399s 399s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 399s See: http://docs.translatehouse.org/projects/translate- 399s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 399s 399s Options: 399s --version show program's version number and exit 399s -h, --help show this help message and exit 399s --manpage output a manpage based on the help 399s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 399s --errorlevel=ERRORLEVEL 399s show errorlevel as: none, message, exception, 399s traceback 399s -i INPUT, --input=INPUT 399s read from INPUT in *, dtd, inc, ini, it, js, lang, 399s manifest, properties, rdf formats 399s -x EXCLUDE, --exclude=EXCLUDE 399s exclude names matching EXCLUDE from input paths 399s -o OUTPUT, --output=OUTPUT 399s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 399s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 399s lang.pot, manifest, properties.po, properties.pot, rdf 399s formats 399s -t TEMPLATE, --template=TEMPLATE 399s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 399s manifest, properties, rdf formats 399s -S, --timestamp skip conversion if the output file has newer timestamp 399s -P, --pot output PO Templates (.pot) rather than PO files (.po) 399s --duplicates=DUPLICATESTYLE 399s what to do with duplicate strings (identical source 399s text): merge, msgctxt (default: 'msgctxt') 399s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 399s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 399s 399s Convert Mozilla .lang files to Gettext PO localization files. 399s 399s Options: 399s --version show program's version number and exit 399s -h, --help show this help message and exit 399s --manpage output a manpage based on the help 399s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 399s --errorlevel=ERRORLEVEL 399s show errorlevel as: none, message, exception, 399s traceback 399s -i INPUT, --input=INPUT 399s read from INPUT in lang format 399s -x EXCLUDE, --exclude=EXCLUDE 399s exclude names matching EXCLUDE from input paths 399s -o OUTPUT, --output=OUTPUT 399s write to OUTPUT in po, pot formats 399s -S, --timestamp skip conversion if the output file has newer timestamp 399s -P, --pot output PO Templates (.pot) rather than PO files (.po) 399s --encoding=ENCODING The encoding of the input file (default: UTF-8) 399s --duplicates=DUPLICATESTYLE 399s what to do with duplicate strings (identical source 399s text): merge, msgctxt (default: 'msgctxt') 399s ========= SMOKE TEST: /usr/bin/msghack =========== 399s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 399s This program can be used to alter .po files in ways no sane mind would think about. 399s -o result will be written to FILE 399s --invert invert a po file by switching msgid and msgstr 399s --master join any number of files in a master-formatted catalog 399s --empty empty the contents of the .po file, creating a .pot 399s --append append entries from ref.po that don't exist in file.po 399s 399s Note: It is just a replacement of msghack for backward support. 399s 399s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 399s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 399s 399s Convert OpenDocument (ODF) files to XLIFF localization files. See: 399s http://docs.translatehouse.org/projects/translate- 399s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 399s 399s Options: 399s --version show program's version number and exit 399s -h, --help show this help message and exit 399s --manpage output a manpage based on the help 399s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 399s --errorlevel=ERRORLEVEL 399s show errorlevel as: none, message, exception, 399s traceback 399s -i INPUT, --input=INPUT 399s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 399s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 399s formats 399s -x EXCLUDE, --exclude=EXCLUDE 399s exclude names matching EXCLUDE from input paths 399s -o OUTPUT, --output=OUTPUT 399s write to OUTPUT in xlf, xliff formats 399s -S, --timestamp skip conversion if the output file has newer timestamp 399s ========= SMOKE TEST: /usr/bin/oo2po =========== 399s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 399s 399s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 399s files. See: http://docs.translatehouse.org/projects/translate- 399s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 399s 399s Options: 399s --version show program's version number and exit 399s -h, --help show this help message and exit 399s --manpage output a manpage based on the help 399s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 399s --errorlevel=ERRORLEVEL 399s show errorlevel as: none, message, exception, 399s traceback 399s -i INPUT, --input=INPUT 399s read from INPUT in oo, sdf formats 399s -x EXCLUDE, --exclude=EXCLUDE 399s exclude names matching EXCLUDE from input paths 399s -o OUTPUT, --output=OUTPUT 399s write to OUTPUT in po, pot formats 399s -S, --timestamp skip conversion if the output file has newer timestamp 399s -P, --pot output PO Templates (.pot) rather than PO files (.po) 399s -l LANG, --language=LANG 399s set target language to extract from oo file (e.g. af- 399s ZA) 399s --source-language=LANG 399s set source language code (default en-US) 399s --nonrecursiveinput don't treat the input oo as a recursive store 399s --duplicates=DUPLICATESTYLE 399s what to do with duplicate strings (identical source 399s text): merge, msgctxt (default: 'msgctxt') 399s --multifile=MULTIFILESTYLE 399s how to split po/pot files (single, toplevel or 399s onefile) 400s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 400s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 400s 400s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 400s files. See: http://docs.translatehouse.org/projects/translate- 400s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 400s 400s Options: 400s --version show program's version number and exit 400s -h, --help show this help message and exit 400s --manpage output a manpage based on the help 400s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 400s --errorlevel=ERRORLEVEL 400s show errorlevel as: none, message, exception, 400s traceback 400s -i INPUT, --input=INPUT 400s read from INPUT in oo, sdf formats 400s -x EXCLUDE, --exclude=EXCLUDE 400s exclude names matching EXCLUDE from input paths 400s -o OUTPUT, --output=OUTPUT 400s write to OUTPUT in xlf, xliff formats 400s -S, --timestamp skip conversion if the output file has newer timestamp 400s -l LANG, --language=LANG 400s set target language to extract from oo file (e.g. af- 400s ZA) 400s --source-language=LANG 400s set source language code (default en-US) 400s --nonrecursiveinput don't treat the input oo as a recursive store 400s --duplicates=DUPLICATESTYLE 400s what to do with duplicate strings (identical source 400s text): merge, msgctxt (default: 'msgctxt') 400s --multifile=MULTIFILESTYLE 400s how to split po/pot files (single, toplevel or 400s onefile) 400s ========= SMOKE TEST: /usr/bin/php2po =========== 400s 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] 400s 400s Convert PHP localization files to Gettext PO localization files. See: 400s http://docs.translatehouse.org/projects/translate- 400s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 400s 400s Options: 400s --version show program's version number and exit 400s -h, --help show this help message and exit 400s --manpage output a manpage based on the help 400s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 400s --errorlevel=ERRORLEVEL 400s show errorlevel as: none, message, exception, 400s traceback 400s -i INPUT, --input=INPUT 400s read from INPUT in html, php formats 400s -x EXCLUDE, --exclude=EXCLUDE 400s exclude names matching EXCLUDE from input paths 400s -o OUTPUT, --output=OUTPUT 400s write to OUTPUT in po, pot formats 400s -t TEMPLATE, --template=TEMPLATE 400s read from TEMPLATE in html, php formats 400s -S, --timestamp skip conversion if the output file has newer timestamp 400s -P, --pot output PO Templates (.pot) rather than PO files (.po) 400s --duplicates=DUPLICATESTYLE 400s what to do with duplicate strings (identical source 400s text): merge, msgctxt (default: 'msgctxt') 400s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 400s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 400s 400s Convert PHP format .po files to Python format .po files. 400s 400s Options: 400s --version show program's version number and exit 400s -h, --help show this help message and exit 400s --manpage output a manpage based on the help 400s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 400s --errorlevel=ERRORLEVEL 400s show errorlevel as: none, message, exception, 400s traceback 400s -i INPUT, --input=INPUT 400s read from INPUT in po, pot formats 400s -x EXCLUDE, --exclude=EXCLUDE 400s exclude names matching EXCLUDE from input paths 400s -o OUTPUT, --output=OUTPUT 400s write to OUTPUT in po, pot formats 400s -S, --timestamp skip conversion if the output file has newer timestamp 400s ========= SMOKE TEST: /usr/bin/po2csv =========== 400s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 400s 400s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 400s See: http://docs.translatehouse.org/projects/translate- 400s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 400s 400s Options: 400s --version show program's version number and exit 400s -h, --help show this help message and exit 400s --manpage output a manpage based on the help 400s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 400s --errorlevel=ERRORLEVEL 400s show errorlevel as: none, message, exception, 400s traceback 400s -i INPUT, --input=INPUT 400s read from INPUT in po, pot formats 400s -x EXCLUDE, --exclude=EXCLUDE 400s exclude names matching EXCLUDE from input paths 400s -o OUTPUT, --output=OUTPUT 400s write to OUTPUT in csv format 400s -S, --timestamp skip conversion if the output file has newer timestamp 400s --columnorder=COLUMNORDER 400s specify the order and position of columns 400s (location,source,target) 400s ========= SMOKE TEST: /usr/bin/po2dtd =========== 400s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 400s 400s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 400s Conversion is either done using a template plus PO file or just using the 400s .po file. 400s 400s Options: 400s --version show program's version number and exit 400s -h, --help show this help message and exit 400s --manpage output a manpage based on the help 400s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 400s --errorlevel=ERRORLEVEL 400s show errorlevel as: none, message, exception, 400s traceback 400s -i INPUT, --input=INPUT 400s read from INPUT in po, pot formats 400s -x EXCLUDE, --exclude=EXCLUDE 400s exclude names matching EXCLUDE from input paths 400s -o OUTPUT, --output=OUTPUT 400s write to OUTPUT in dtd format 400s -t TEMPLATE, --template=TEMPLATE 400s read from TEMPLATE in dtd format 400s -S, --timestamp skip conversion if the output file has newer timestamp 400s --threshold=PERCENT only convert files where the translation completion is 400s above PERCENT 400s --fuzzy use translations marked fuzzy 400s --nofuzzy don't use translations marked fuzzy (default) 400s --removeuntranslated remove untranslated strings from output 400s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 400s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 400s 400s Convert Gettext PO localization files to flat XML files. See: 400s http://docs.translatehouse.org/projects/translate- 400s toolkit/en/latest/commands/flatxml2po.html for examples and usage 400s instructions. 400s 400s Options: 400s --version show program's version number and exit 400s -h, --help show this help message and exit 400s --manpage output a manpage based on the help 400s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 400s --errorlevel=ERRORLEVEL 400s show errorlevel as: none, message, exception, 400s traceback 400s -i INPUT, --input=INPUT 400s read from INPUT in po, pot formats 400s -x EXCLUDE, --exclude=EXCLUDE 400s exclude names matching EXCLUDE from input paths 400s -o OUTPUT, --output=OUTPUT 400s write to OUTPUT in xml format 400s -t TEMPLATE, --template=TEMPLATE 400s read from TEMPLATE in xml format 400s -S, --timestamp skip conversion if the output file has newer timestamp 400s -r ROOT, --root=ROOT name of the XML root element (default: "root") 400s -v VALUE, --value=VALUE 400s name of the XML value element (default: "str") 400s -k KEY, --key=KEY name of the XML key attribute (default: "key") 400s -n NS, --namespace=NS 400s XML namespace uri (default: None) 400s -w INDENT, --indent=INDENT 400s indent width in spaces, 0 for no indent (default: 2) 400s ========= SMOKE TEST: /usr/bin/po2html =========== 401s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 401s 401s Translate HTML files using Gettext PO localization files. See: 401s http://docs.translatehouse.org/projects/translate- 401s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 401s 401s Options: 401s --version show program's version number and exit 401s -h, --help show this help message and exit 401s --manpage output a manpage based on the help 401s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 401s --errorlevel=ERRORLEVEL 401s show errorlevel as: none, message, exception, 401s traceback 401s -i INPUT, --input=INPUT 401s read from INPUT in po, pot formats 401s -x EXCLUDE, --exclude=EXCLUDE 401s exclude names matching EXCLUDE from input paths 401s -o OUTPUT, --output=OUTPUT 401s write to OUTPUT in htm, html, xhtml formats 401s -t TEMPLATE, --template=TEMPLATE 401s read from TEMPLATE in htm, html, xhtml formats 401s -S, --timestamp skip conversion if the output file has newer timestamp 401s --threshold=PERCENT only convert files where the translation completion is 401s above PERCENT 401s --fuzzy use translations marked fuzzy 401s --nofuzzy don't use translations marked fuzzy (default) 401s ========= SMOKE TEST: /usr/bin/po2ical =========== 401s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 401s EPOCH = datetime.datetime.utcfromtimestamp(0) 401s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 401s 401s Convert Gettext PO localization files to iCalendar files. See: 401s http://docs.translatehouse.org/projects/translate- 401s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 401s 401s Options: 401s --version show program's version number and exit 401s -h, --help show this help message and exit 401s --manpage output a manpage based on the help 401s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 401s --errorlevel=ERRORLEVEL 401s show errorlevel as: none, message, exception, 401s traceback 401s -i INPUT, --input=INPUT 401s read from INPUT in po, pot formats 401s -x EXCLUDE, --exclude=EXCLUDE 401s exclude names matching EXCLUDE from input paths 401s -o OUTPUT, --output=OUTPUT 401s write to OUTPUT in ics format 401s -t TEMPLATE, --template=TEMPLATE 401s read from TEMPLATE in ics format 401s -S, --timestamp skip conversion if the output file has newer timestamp 401s --threshold=PERCENT only convert files where the translation completion is 401s above PERCENT 401s --fuzzy use translations marked fuzzy 401s --nofuzzy don't use translations marked fuzzy (default) 401s ========= SMOKE TEST: /usr/bin/po2idml =========== 401s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 401s 401s Takes an IDML template file and a PO file containing translations of strings 401s in the IDML template. It creates a new IDML file using the translations of the 401s PO file. 401s 401s Options: 401s --version show program's version number and exit 401s -h, --help show this help message and exit 401s --manpage output a manpage based on the help 401s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 401s --errorlevel=ERRORLEVEL 401s show errorlevel as: none, message, exception, 401s traceback 401s -i INPUT, --input=INPUT 401s read from INPUT in po, pot formats 401s -x EXCLUDE, --exclude=EXCLUDE 401s exclude names matching EXCLUDE from input paths 401s -o OUTPUT, --output=OUTPUT 401s write to OUTPUT in idml format 401s -t TEMPLATE, --template=TEMPLATE 401s read from TEMPLATE in idml format 401s -S, --timestamp skip conversion if the output file has newer timestamp 401s ========= SMOKE TEST: /usr/bin/po2ini =========== 401s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 401s 401s Convert Gettext PO localization files to .ini files. See: 401s http://docs.translatehouse.org/projects/translate- 401s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 401s 401s Options: 401s --version show program's version number and exit 401s -h, --help show this help message and exit 401s --manpage output a manpage based on the help 401s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 401s --errorlevel=ERRORLEVEL 401s show errorlevel as: none, message, exception, 401s traceback 401s -i INPUT, --input=INPUT 401s read from INPUT in po, pot formats 401s -x EXCLUDE, --exclude=EXCLUDE 401s exclude names matching EXCLUDE from input paths 401s -o OUTPUT, --output=OUTPUT 401s write to OUTPUT in ini, isl formats 401s -t TEMPLATE, --template=TEMPLATE 401s read from TEMPLATE in ini, isl formats 401s -S, --timestamp skip conversion if the output file has newer timestamp 401s --threshold=PERCENT only convert files where the translation completion is 401s above PERCENT 401s --fuzzy use translations marked fuzzy 401s --nofuzzy don't use translations marked fuzzy (default) 401s ========= SMOKE TEST: /usr/bin/po2json =========== 401s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 401s 401s Convert Gettext PO localization files to JSON files. See: 401s http://docs.translatehouse.org/projects/translate- 401s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 401s 401s Options: 401s --version show program's version number and exit 401s -h, --help show this help message and exit 401s --manpage output a manpage based on the help 401s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 401s --errorlevel=ERRORLEVEL 401s show errorlevel as: none, message, exception, 401s traceback 401s -i INPUT, --input=INPUT 401s read from INPUT in po, pot formats 401s -x EXCLUDE, --exclude=EXCLUDE 401s exclude names matching EXCLUDE from input paths 401s -o OUTPUT, --output=OUTPUT 401s write to OUTPUT in json format 401s -t TEMPLATE, --template=TEMPLATE 401s read from TEMPLATE in json format 401s -S, --timestamp skip conversion if the output file has newer timestamp 401s --threshold=PERCENT only convert files where the translation completion is 401s above PERCENT 401s --fuzzy use translations marked fuzzy 401s --nofuzzy don't use translations marked fuzzy (default) 401s --removeuntranslated remove untranslated strings from output 401s ========= SMOKE TEST: /usr/bin/po2md =========== 402s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 402s 402s Translate Markdown files using Gettext PO localization files. See: 402s http://docs.translatehouse.org/projects/translate- 402s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 402s 402s Options: 402s --version show program's version number and exit 402s -h, --help show this help message and exit 402s --manpage output a manpage based on the help 402s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 402s --errorlevel=ERRORLEVEL 402s show errorlevel as: none, message, exception, 402s traceback 402s -i INPUT, --input=INPUT 402s read from INPUT in po, pot formats 402s -x EXCLUDE, --exclude=EXCLUDE 402s exclude names matching EXCLUDE from input paths 402s -o OUTPUT, --output=OUTPUT 402s write to OUTPUT in markdown, md, text, txt formats 402s -t TEMPLATE, --template=TEMPLATE 402s read from TEMPLATE in markdown, md, text, txt formats 402s -S, --timestamp skip conversion if the output file has newer timestamp 402s -m MAXLENGTH, --maxlinelength=MAXLENGTH 402s reflow (word wrap) the output to the given maximum 402s line length. set to 0 to disable 402s --threshold=PERCENT only convert files where the translation completion is 402s above PERCENT 402s --fuzzy use translations marked fuzzy 402s --nofuzzy don't use translations marked fuzzy (default) 402s ========= SMOKE TEST: /usr/bin/po2moz =========== 402s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 402s 402s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 402s See: http://docs.translatehouse.org/projects/translate- 402s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 402s 402s Options: 402s --version show program's version number and exit 402s -h, --help show this help message and exit 402s --manpage output a manpage based on the help 402s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 402s --errorlevel=ERRORLEVEL 402s show errorlevel as: none, message, exception, 402s traceback 402s -i INPUT, --input=INPUT 402s read from INPUT in *, dtd.po, dtd.pot, inc.po, 402s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 402s lang.pot, manifest, properties.po, properties.pot, rdf 402s formats 402s -x EXCLUDE, --exclude=EXCLUDE 402s exclude names matching EXCLUDE from input paths 402s -o OUTPUT, --output=OUTPUT 402s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 402s manifest, properties, rdf formats 402s -t TEMPLATE, --template=TEMPLATE 402s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 402s manifest, properties, rdf formats 402s -S, --timestamp skip conversion if the output file has newer timestamp 402s -l LOCALE, --locale=LOCALE 402s set output locale (required as this sets the directory 402s names) 402s --threshold=PERCENT only convert files where the translation completion is 402s above PERCENT 402s --fuzzy use translations marked fuzzy 402s --nofuzzy don't use translations marked fuzzy (default) 402s --removeuntranslated remove untranslated strings from output 402s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 402s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 402s 402s Convert Gettext PO localization files to Mozilla .lang files. 402s 402s Options: 402s --version show program's version number and exit 402s -h, --help show this help message and exit 402s --manpage output a manpage based on the help 402s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 402s --errorlevel=ERRORLEVEL 402s show errorlevel as: none, message, exception, 402s traceback 402s -i INPUT, --input=INPUT 402s read from INPUT in po, pot formats 402s -x EXCLUDE, --exclude=EXCLUDE 402s exclude names matching EXCLUDE from input paths 402s -o OUTPUT, --output=OUTPUT 402s write to OUTPUT in lang format 402s -t TEMPLATE, --template=TEMPLATE 402s read from TEMPLATE in lang format 402s -S, --timestamp skip conversion if the output file has newer timestamp 402s --mark-active mark the file as active 402s --threshold=PERCENT only convert files where the translation completion is 402s above PERCENT 402s --fuzzy use translations marked fuzzy 402s --nofuzzy don't use translations marked fuzzy (default) 402s ========= SMOKE TEST: /usr/bin/po2oo =========== 402s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 402s 402s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 402s file. See: http://docs.translatehouse.org/projects/translate- 402s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 402s 402s Options: 402s --version show program's version number and exit 402s -h, --help show this help message and exit 402s --manpage output a manpage based on the help 402s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 402s --errorlevel=ERRORLEVEL 402s show errorlevel as: none, message, exception, 402s traceback 402s -i INPUT, --input=INPUT 402s read from INPUT in po, pot, xlf, xliff formats 402s -x EXCLUDE, --exclude=EXCLUDE 402s exclude names matching EXCLUDE from input paths 402s -o OUTPUT, --output=OUTPUT 402s write to OUTPUT in oo, sdf formats 402s -t TEMPLATE, --template=TEMPLATE 402s read from TEMPLATE in oo, sdf formats 402s -S, --timestamp skip conversion if the output file has newer timestamp 402s -l LANG, --language=LANG 402s set target language code (e.g. af-ZA) [required] 402s --source-language=LANG 402s set source language code (default en-US) 402s -T, --keeptimestamp don't change the timestamps of the strings 402s --nonrecursiveoutput don't treat the output oo as a recursive store 402s --nonrecursivetemplate 402s don't treat the template oo as a recursive store 402s --skipsource don't output the source language, but fallback to it 402s where needed 402s --filteraction=ACTION 402s action on pofilter failure: none (default), warn, 402s exclude-serious, exclude-all 402s --threshold=PERCENT only convert files where the translation completion is 402s above PERCENT 402s --fuzzy use translations marked fuzzy 402s --nofuzzy don't use translations marked fuzzy (default) 402s --multifile=MULTIFILESTYLE 402s how to split po/pot files (single, toplevel or 402s onefile) 403s ========= SMOKE TEST: /usr/bin/po2php =========== 403s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 403s 403s Convert Gettext PO localization files to PHP localization files. See: 403s http://docs.translatehouse.org/projects/translate- 403s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 403s 403s Options: 403s --version show program's version number and exit 403s -h, --help show this help message and exit 403s --manpage output a manpage based on the help 403s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 403s --errorlevel=ERRORLEVEL 403s show errorlevel as: none, message, exception, 403s traceback 403s -i INPUT, --input=INPUT 403s read from INPUT in po, pot formats 403s -x EXCLUDE, --exclude=EXCLUDE 403s exclude names matching EXCLUDE from input paths 403s -o OUTPUT, --output=OUTPUT 403s write to OUTPUT in html, php formats 403s -t TEMPLATE, --template=TEMPLATE 403s read from TEMPLATE in html, php formats 403s -S, --timestamp skip conversion if the output file has newer timestamp 403s --threshold=PERCENT only convert files where the translation completion is 403s above PERCENT 403s --fuzzy use translations marked fuzzy 403s --nofuzzy don't use translations marked fuzzy (default) 403s ========= SMOKE TEST: /usr/bin/po2prop =========== 403s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 403s 403s Convert Gettext PO localization files to Java/Mozilla .properties files. 403s See: http://docs.translatehouse.org/projects/translate- 403s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 403s 403s Options: 403s --version show program's version number and exit 403s -h, --help show this help message and exit 403s --manpage output a manpage based on the help 403s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 403s --errorlevel=ERRORLEVEL 403s show errorlevel as: none, message, exception, 403s traceback 403s -i INPUT, --input=INPUT 403s read from INPUT in po, pot formats 403s -x EXCLUDE, --exclude=EXCLUDE 403s exclude names matching EXCLUDE from input paths 403s -o OUTPUT, --output=OUTPUT 403s write to OUTPUT in lang, properties, strings formats 403s -t TEMPLATE, --template=TEMPLATE 403s read from TEMPLATE in lang, properties, strings 403s formats 403s -S, --timestamp skip conversion if the output file has newer timestamp 403s --personality=TYPE override the input file format: java, java-utf8, java- 403s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 403s strings, strings-utf8, joomla (for .properties files, 403s default: java) 403s --encoding=ENCODING override the encoding set by the personality 403s --threshold=PERCENT only convert files where the translation completion is 403s above PERCENT 403s --fuzzy use translations marked fuzzy 403s --nofuzzy don't use translations marked fuzzy (default) 403s --removeuntranslated remove untranslated strings from output 403s ========= SMOKE TEST: /usr/bin/po2rc =========== 403s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 403s 403s Convert Gettext PO localization files back to Windows Resource (.rc) files. 403s See: http://docs.translatehouse.org/projects/translate- 403s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 403s 403s Options: 403s --version show program's version number and exit 403s -h, --help show this help message and exit 403s --manpage output a manpage based on the help 403s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 403s --errorlevel=ERRORLEVEL 403s show errorlevel as: none, message, exception, 403s traceback 403s -i INPUT, --input=INPUT 403s read from INPUT in po, pot formats 403s -x EXCLUDE, --exclude=EXCLUDE 403s exclude names matching EXCLUDE from input paths 403s -o OUTPUT, --output=OUTPUT 403s write to OUTPUT in rc format 403s -t TEMPLATE, --template=TEMPLATE 403s read from TEMPLATE in rc format 403s -S, --timestamp skip conversion if the output file has newer timestamp 403s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 403s -l LANG, --lang=LANG LANG entry 403s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 403s --threshold=PERCENT only convert files where the translation completion is 403s above PERCENT 403s --fuzzy use translations marked fuzzy 403s --nofuzzy don't use translations marked fuzzy (default) 403s ========= SMOKE TEST: /usr/bin/po2resx =========== 403s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 403s 403s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 403s http://docs.translatehouse.org/projects/translate- 403s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 403s 403s Options: 403s --version show program's version number and exit 403s -h, --help show this help message and exit 403s --manpage output a manpage based on the help 403s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 403s --errorlevel=ERRORLEVEL 403s show errorlevel as: none, message, exception, 403s traceback 403s -i INPUT, --input=INPUT 403s read from INPUT in po, pot formats 403s -x EXCLUDE, --exclude=EXCLUDE 403s exclude names matching EXCLUDE from input paths 403s -o OUTPUT, --output=OUTPUT 403s write to OUTPUT in resx format 403s -t TEMPLATE, --template=TEMPLATE 403s read from TEMPLATE in resx format 403s -S, --timestamp skip conversion if the output file has newer timestamp 403s --fuzzy use translations marked fuzzy 403s --nofuzzy don't use translations marked fuzzy (default) 403s ========= SMOKE TEST: /usr/bin/po2sub =========== 403s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 403s 403s Convert Gettext PO localization files to subtitle files. See: 403s http://docs.translatehouse.org/projects/translate- 403s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 403s 403s Options: 403s --version show program's version number and exit 403s -h, --help show this help message and exit 403s --manpage output a manpage based on the help 403s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 403s --errorlevel=ERRORLEVEL 403s show errorlevel as: none, message, exception, 403s traceback 403s -i INPUT, --input=INPUT 403s read from INPUT in po, pot formats 403s -x EXCLUDE, --exclude=EXCLUDE 403s exclude names matching EXCLUDE from input paths 403s -o OUTPUT, --output=OUTPUT 403s write to OUTPUT in ass, srt, ssa, sub formats 403s -t TEMPLATE, --template=TEMPLATE 403s read from TEMPLATE in ass, srt, ssa, sub formats 403s -S, --timestamp skip conversion if the output file has newer timestamp 403s --threshold=PERCENT only convert files where the translation completion is 403s above PERCENT 403s --fuzzy use translations marked fuzzy 403s --nofuzzy don't use translations marked fuzzy (default) 403s ========= SMOKE TEST: /usr/bin/po2symb =========== 403s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 403s 403s Convert Gettext PO localization files to Symbian translation files. See: 403s http://docs.translatehouse.org/projects/translate- 403s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 403s 403s Options: 403s --version show program's version number and exit 403s -h, --help show this help message and exit 403s --manpage output a manpage based on the help 403s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 403s --errorlevel=ERRORLEVEL 403s show errorlevel as: none, message, exception, 403s traceback 403s -i INPUT, --input=INPUT 403s read from INPUT in po, pot formats 403s -x EXCLUDE, --exclude=EXCLUDE 403s exclude names matching EXCLUDE from input paths 403s -o OUTPUT, --output=OUTPUT 403s write to OUTPUT in r0 format 403s -t TEMPLATE, --template=TEMPLATE 403s read from TEMPLATE in 403s -S, --timestamp skip conversion if the output file has newer timestamp 403s --duplicates=DUPLICATESTYLE 403s what to do with duplicate strings (identical source 403s text): merge, msgctxt (default: 'msgctxt') 404s ========= SMOKE TEST: /usr/bin/po2tiki =========== 404s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 404s 404s Convert Gettext PO files to TikiWiki's language.php files. See: 404s http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in tiki format 404s -S, --timestamp skip conversion if the output file has newer timestamp 404s ========= SMOKE TEST: /usr/bin/po2tmx =========== 404s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 404s 404s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 404s file. See: http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in tmx format 404s -S, --timestamp skip conversion if the output file has newer timestamp 404s -l LANG, --language=LANG 404s set target language code (e.g. af-ZA) [required] 404s --source-language=LANG 404s set source language code (default: en) 404s --comments=COMMENT set default comment import: none, source, type or 404s others (default: none) 404s ========= SMOKE TEST: /usr/bin/po2ts =========== 404s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 404s 404s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 404s http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in ts format 404s -t TEMPLATE, --template=TEMPLATE 404s read from TEMPLATE in ts format 404s -S, --timestamp skip conversion if the output file has newer timestamp 404s -c CONTEXT, --context=CONTEXT 404s use supplied context instead of the one in the .po 404s file comment 404s ========= SMOKE TEST: /usr/bin/po2txt =========== 404s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 404s 404s Convert Gettext PO localization files to plain text (.txt) files. See: 404s http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot, xlf, xliff formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in txt format 404s -t TEMPLATE, --template=TEMPLATE 404s read from TEMPLATE in txt format 404s -S, --timestamp skip conversion if the output file has newer timestamp 404s --encoding=ENCODING The encoding of the template file (default: UTF-8) 404s -w WRAP, --wrap=WRAP set number of columns to wrap text at 404s --threshold=PERCENT only convert files where the translation completion is 404s above PERCENT 404s --fuzzy use translations marked fuzzy 404s --nofuzzy don't use translations marked fuzzy (default) 404s ========= SMOKE TEST: /usr/bin/po2web2py =========== 404s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 404s 404s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 404s http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in py format 404s -S, --timestamp skip conversion if the output file has newer timestamp 404s --threshold=PERCENT only convert files where the translation completion is 404s above PERCENT 404s --fuzzy use translations marked fuzzy 404s --nofuzzy don't use translations marked fuzzy (default) 404s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 404s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 404s 404s Convert Gettext PO localization files to a Wordfast translation memory file. 404s See: http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/po2wordfast.html for examples and usage 404s instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in txt format 404s -S, --timestamp skip conversion if the output file has newer timestamp 404s -l LANG, --language=LANG 404s set target language code (e.g. af-ZA) [required] 404s --source-language=LANG 404s set source language code (default: en) 404s ========= SMOKE TEST: /usr/bin/po2xliff =========== 404s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 404s 404s Convert Gettext PO localization files to XLIFF localization files. See: 404s http://docs.translatehouse.org/projects/translate- 404s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 404s 404s Options: 404s --version show program's version number and exit 404s -h, --help show this help message and exit 404s --manpage output a manpage based on the help 404s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 404s --errorlevel=ERRORLEVEL 404s show errorlevel as: none, message, exception, 404s traceback 404s -i INPUT, --input=INPUT 404s read from INPUT in po, pot formats 404s -x EXCLUDE, --exclude=EXCLUDE 404s exclude names matching EXCLUDE from input paths 404s -o OUTPUT, --output=OUTPUT 404s write to OUTPUT in xlf, xliff formats 404s -t TEMPLATE, --template=TEMPLATE 404s read from TEMPLATE in xlf, xliff formats 404s -S, --timestamp skip conversion if the output file has newer timestamp 405s ========= SMOKE TEST: /usr/bin/po2yaml =========== 405s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 405s 405s Convert Gettext PO localization files to YAML files. See: 405s http://docs.translatehouse.org/projects/translate- 405s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 405s 405s Options: 405s --version show program's version number and exit 405s -h, --help show this help message and exit 405s --manpage output a manpage based on the help 405s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 405s --errorlevel=ERRORLEVEL 405s show errorlevel as: none, message, exception, 405s traceback 405s -i INPUT, --input=INPUT 405s read from INPUT in po, pot formats 405s -x EXCLUDE, --exclude=EXCLUDE 405s exclude names matching EXCLUDE from input paths 405s -o OUTPUT, --output=OUTPUT 405s write to OUTPUT in yaml, yml formats 405s -t TEMPLATE, --template=TEMPLATE 405s read from TEMPLATE in yaml, yml formats 405s -S, --timestamp skip conversion if the output file has newer timestamp 405s --threshold=PERCENT only convert files where the translation completion is 405s above PERCENT 405s --fuzzy use translations marked fuzzy 405s --nofuzzy don't use translations marked fuzzy (default) 405s ========= SMOKE TEST: /usr/bin/poclean =========== 405s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 405s 405s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 405s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 405s produces the target file with only the target text in from a text version of 405s the RTF. 405s 405s Options: 405s --version show program's version number and exit 405s -h, --help show this help message and exit 405s --manpage output a manpage based on the help 405s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 405s --errorlevel=ERRORLEVEL 405s show errorlevel as: none, message, exception, 405s traceback 405s -i INPUT, --input=INPUT 405s read from INPUT in po, pot, xlf, xliff formats 405s -x EXCLUDE, --exclude=EXCLUDE 405s exclude names matching EXCLUDE from input paths 405s -o OUTPUT, --output=OUTPUT 405s write to OUTPUT in po, pot, xlf, xliff formats 405s -S, --timestamp skip conversion if the output file has newer timestamp 405s ========= SMOKE TEST: /usr/bin/pocompendium =========== 405s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 405s The first parameter is the output file, standard output if the output file is '-'. 405s Any number of directories may be specified for input files. 405s Options: 405s --invert|v Creates an inverse compendium with msgid and msgstr swapped 405s --errors|e Only ouput msg bundles that have errors 405s --correct|c Only ouput msg bundles that are correctly translated 405s --ignore-case|i Drops all strings to lowercase 405s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 405s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 405s --strip-accel-under|-su Strip all underscore (_) accelerator characters 405s ========= SMOKE TEST: /usr/bin/pocompile =========== 405s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 405s 405s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 405s Object) files. See: http://docs.translatehouse.org/projects/translate- 405s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 405s 405s Options: 405s --version show program's version number and exit 405s -h, --help show this help message and exit 405s --manpage output a manpage based on the help 405s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 405s --errorlevel=ERRORLEVEL 405s show errorlevel as: none, message, exception, 405s traceback 405s -i INPUT, --input=INPUT 405s read from INPUT in po, pot, xlf, xliff formats 405s -x EXCLUDE, --exclude=EXCLUDE 405s exclude names matching EXCLUDE from input paths 405s -o OUTPUT, --output=OUTPUT 405s write to OUTPUT in mo format 405s -S, --timestamp skip conversion if the output file has newer timestamp 405s --fuzzy use translations marked fuzzy 405s --nofuzzy don't use translations marked fuzzy (default) 405s ========= SMOKE TEST: /usr/bin/poconflicts =========== 405s 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] 405s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 405s 405s Conflict finder for Gettext PO localization files. See: 405s http://docs.translatehouse.org/projects/translate- 405s toolkit/en/latest/commands/poconflicts.html for examples and usage 405s instructions. 405s 405s Options: 405s --version show program's version number and exit 405s -h, --help show this help message and exit 405s --manpage output a manpage based on the help 405s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 405s --errorlevel=ERRORLEVEL 405s show errorlevel as: none, message, exception, 405s traceback 405s -i INPUT, --input=INPUT 405s read from INPUT in po format 405s -x EXCLUDE, --exclude=EXCLUDE 405s exclude names matching EXCLUDE from input paths 405s -o OUTPUT, --output=OUTPUT 405s write to OUTPUT in po format 405s -I, --ignore-case ignore case distinctions 405s -v, --invert invert the conflicts thus extracting conflicting 405s destination words 405s --accelerator=ACCELERATORS 405s ignores the given accelerator characters when matching 405s ========= SMOKE TEST: /usr/bin/pocount =========== 405s usage: pocount [-h] [--incomplete] 405s [--full | --csv | --short | --short-strings | --short-words] 405s [--no-color] 405s files [files ...] 405s 405s positional arguments: 405s files 405s 405s options: 405s -h, --help show this help message and exit 405s --incomplete skip 100% translated files. 405s 405s Output format: 405s --full (default) statistics in full, verbose format 405s --csv statistics in CSV format 405s --short same as --short-strings 405s --short-strings statistics of strings in short format - one line per file 405s --short-words statistics of words in short format - one line per file 405s --no-color show output without color 405s ========= SMOKE TEST: /usr/bin/podebug =========== 405s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 405s 405s Insert debug messages into XLIFF and Gettext PO localization files. See: 405s http://docs.translatehouse.org/projects/translate- 405s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 405s 405s Options: 405s --version show program's version number and exit 405s -h, --help show this help message and exit 405s --manpage output a manpage based on the help 405s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 405s --errorlevel=ERRORLEVEL 405s show errorlevel as: none, message, exception, 405s traceback 405s -i INPUT, --input=INPUT 405s read from INPUT in po, pot, pot, tmx, xlf, xliff 405s formats 405s -x EXCLUDE, --exclude=EXCLUDE 405s exclude names matching EXCLUDE from input paths 405s -o OUTPUT, --output=OUTPUT 405s write to OUTPUT in po, pot, tmx, xlf, xliff formats 405s -S, --timestamp skip conversion if the output file has newer timestamp 405s -f FORMAT, --format=FORMAT 405s specify format string 405s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 405s classified, en, flipped, unicode, xxx 405s --ignore=APPLICATION apply tagging ignore rules for the given application: 405s gtk, kde, libreoffice, mozilla, openoffice 405s --preserveplaceholders 405s attempt to exclude characters that are part of 405s placeholders when performing character-level rewrites 405s so that consuming applications can still use the 405s placeholders to generate final output 405s ========= SMOKE TEST: /usr/bin/pofilter =========== 405s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 405s 405s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 405s Snippet files are created whenever a test fails. These can be examined, 405s corrected and merged back into the originals using pomerge. See: 405s http://docs.translatehouse.org/projects/translate- 405s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 405s and http://docs.translatehouse.org/projects/translate- 405s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 405s tests. 405s 405s Options: 405s --version show program's version number and exit 405s -h, --help show this help message and exit 405s --manpage output a manpage based on the help 405s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 405s --errorlevel=ERRORLEVEL 405s show errorlevel as: none, message, exception, 405s traceback 405s -i INPUT, --input=INPUT 405s read from INPUT in po, pot, tmx, xlf, xliff formats 405s -x EXCLUDE, --exclude=EXCLUDE 405s exclude names matching EXCLUDE from input paths 405s -o OUTPUT, --output=OUTPUT 405s write to OUTPUT in po, pot, tmx, xlf, xliff formats 405s -l, --listfilters list filters available 405s --review include units marked for review (default) 405s --noreview exclude units marked for review 405s --fuzzy include units marked fuzzy (default) 405s --nofuzzy exclude units marked fuzzy 405s --nonotes don't add notes about the errors 405s --autocorrect output automatic corrections where possible rather 405s than describing issues 405s --language=LANG set target language code (e.g. af-ZA) [required for 405s spell check and recommended in general] 405s --openoffice use the standard checks for OpenOffice translations 405s --libreoffice use the standard checks for LibreOffice translations 405s --mozilla use the standard checks for Mozilla translations 405s --drupal use the standard checks for Drupal translations 405s --gnome use the standard checks for Gnome translations 405s --kde use the standard checks for KDE translations 405s --wx use the standard checks for wxWidgets translations 405s --excludefilter=FILTER 405s don't use FILTER when filtering 405s -t FILTER, --test=FILTER 405s only use test FILTERs specified with this option when 405s filtering 405s --notranslatefile=FILE 405s read list of untranslatable words from FILE (must not 405s be translated) 405s --musttranslatefile=FILE 405s read list of translatable words from FILE (must be 405s translated) 405s --validcharsfile=FILE 405s read list of all valid characters from FILE (must be 405s in UTF-8) 406s ========= SMOKE TEST: /usr/bin/pogrep =========== 406s 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] 406s 406s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 406s snippet files of the same type which can then be reviewed and later merged 406s using :doc:`pomerge `. See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 406s xliff formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 406s xliff formats 406s --search=SEARCHPARTS searches the given parts (source, target, notes and 406s locations) 406s -I, --ignore-case ignore case distinctions 406s -e, --regexp use regular expression matching 406s -v, --invert-match select non-matching lines 406s --accelerator=ACCELERATOR 406s ignores the given accelerator when matching 406s -k, --keep-translations 406s always extract units with translations 406s ========= SMOKE TEST: /usr/bin/pomerge =========== 406s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 406s 406s Merges XLIFF and Gettext PO localization files. Snippet file produced by 406s e.g. :doc:`pogrep ` and updated by a translator can be 406s merged back into the original files. See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in po, pot, pot, xlf, xliff formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in po, pot, pot, xlf, xliff formats 406s -t TEMPLATE, --template=TEMPLATE 406s read from TEMPLATE in po, pot, pot, xlf, xliff formats 406s -S, --timestamp skip conversion if the output file has newer timestamp 406s --mergeblanks=MERGEBLANKS 406s whether to overwrite existing translations with blank 406s translations (yes/no). Default is yes. 406s --mergefuzzy=MERGEFUZZY 406s whether to consider fuzzy translations from input 406s (yes/no). Default is yes. 406s --mergecomments=MERGECOMMENTS 406s whether to merge comments as well as translations 406s (yes/no). Default is yes. 406s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 406s Usage pomigrate2 [options] 406s 406s Options: 406s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 406s -C|--use-compendium - create and use a compendium built from the migrating files 406s -C|--use-compendium=some-compendium.po 406s - use an external compendium during the migration 406s --no-wrap - do not wrap long lines 406s --locale=lang - set locale for newly born files 406s -q|--quiet - suppress most output 406s -p|--pot2po - use pot2po instead of msgmerge to migrate 406s ========= SMOKE TEST: /usr/bin/popuretext =========== 406s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 406s ========= SMOKE TEST: /usr/bin/poreencode =========== 406s Usage: poreencode 406s eg: poreencode UTF-8 af/ 406s ========= SMOKE TEST: /usr/bin/porestructure =========== 406s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 406s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 406s 406s Restructure Gettxt PO files produced by :doc:`poconflicts 406s ` into the original directory tree for merging using 406s :doc:`pomerge `. See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in po format 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in po format 406s ========= SMOKE TEST: /usr/bin/posegment =========== 406s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 406s 406s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 406s See: http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in po, pot, tmx, xlf, xliff formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in po, pot, tmx, xlf, xliff formats 406s -S, --timestamp skip conversion if the output file has newer timestamp 406s -P, --pot output PO Templates (.pot) rather than PO files (.po) 406s -l LANG, --language=LANG 406s the target language code 406s --source-language=LANG 406s the source language code (default 'en') 406s --keepspaces Disable automatic stripping of whitespace 406s --only-aligned Removes units where sentence number does not 406s correspond 406s ========= SMOKE TEST: /usr/bin/poswap =========== 406s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 406s 406s Builds a new translation file with the target of the input language as source 406s language. .. note:: Ensure that the two po files correspond 100% to the same 406s pot file before using this. To translate Kurdish (ku) through French:: 406s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 406s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in po, pot formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in po, pot formats 406s -t TEMPLATE, --template=TEMPLATE 406s read from TEMPLATE in po, pot, pot formats 406s -S, --timestamp skip conversion if the output file has newer timestamp 406s --reverse reverse the process of intermediate language 406s conversion 406s ========= SMOKE TEST: /usr/bin/pot2po =========== 406s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 406s 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] 406s 406s Convert template files (like .pot or template .xlf files) to translation 406s files, preserving existing translations. See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 406s formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 406s xliff formats 406s -t TEMPLATE, --template=TEMPLATE 406s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 406s xliff formats 406s -S, --timestamp skip conversion if the output file has newer timestamp 406s -P, --pot output PO Templates (.pot) rather than PO files (.po) 406s --tm=TM The file to use as translation memory when fuzzy 406s matching 406s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 406s The minimum similarity for inclusion (default: 75%) 406s --nofuzzymatching Disable fuzzy matching 406s ========= SMOKE TEST: /usr/bin/poterminology =========== 406s 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] 406s input directory is searched for PO files, terminology PO file is output file 406s 406s Create a terminology file by reading a set of .po or .pot files to produce a 406s pootle-terminology.pot. See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/poterminology.html for examples and usage 406s instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in po, pot formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in po, pot formats 406s -u UPDATEFILE, --update=UPDATEFILE 406s update terminology in UPDATEFILE 406s -S STOPFILE, --stopword-list=STOPFILE 406s read stopword (term exclusion) list from STOPFILE 406s (default /usr/share/pyshared/translate/share/stoplist- 406s en) 406s -F, --fold-titlecase fold "Title Case" to lowercase (default) 406s -C, --preserve-case preserve all uppercase/lowercase 406s -I, --ignore-case make all terms lowercase 406s --accelerator=ACCELERATORS 406s ignore the given accelerator characters when matching 406s -t LENGTH, --term-words=LENGTH 406s generate terms of up to LENGTH words (default 3) 406s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 406s 1) 406s --inputs-needed=MIN omit terms appearing in less than MIN input files 406s (default 2, or 1 if only one input file) 406s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 406s different messages (default 1) 406s --substr-needed=MIN omit substring-only terms appearing in less than MIN 406s different messages (default 2) 406s --locs-needed=MIN omit terms appearing in less than MIN different 406s original source files (default 2) 406s --sort=ORDER output sort order(s): frequency, dictionary, length 406s (may repeat option, default is all in above order) 406s --source-language=LANG 406s the source language code (default 'en') 406s -v, --invert invert the source and target languages for terminology 406s ========= SMOKE TEST: /usr/bin/pretranslate =========== 406s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 406s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 406s 406s Fill localization files with suggested translations based on translation 406s memory and existing translations. See: 406s http://docs.translatehouse.org/projects/translate- 406s toolkit/en/latest/commands/pretranslate.html for examples and usage 406s instructions. 406s 406s Options: 406s --version show program's version number and exit 406s -h, --help show this help message and exit 406s --manpage output a manpage based on the help 406s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 406s --errorlevel=ERRORLEVEL 406s show errorlevel as: none, message, exception, 406s traceback 406s -i INPUT, --input=INPUT 406s read from INPUT in po, pot, pot, xlf, xliff formats 406s -x EXCLUDE, --exclude=EXCLUDE 406s exclude names matching EXCLUDE from input paths 406s -o OUTPUT, --output=OUTPUT 406s write to OUTPUT in po, pot, xlf, xliff formats 406s -t TEMPLATE, --template=TEMPLATE 406s read from TEMPLATE in po, pot, xlf, xliff formats 406s -S, --timestamp skip conversion if the output file has newer timestamp 406s --tm=TM The file to use as translation memory when fuzzy 406s matching 406s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 406s The minimum similarity for inclusion (default: 75%) 406s --nofuzzymatching Disable fuzzy matching 407s ========= SMOKE TEST: /usr/bin/prop2po =========== 407s 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] 407s 407s Convert Java/Mozilla .properties files to Gettext PO localization files. 407s See: http://docs.translatehouse.org/projects/translate- 407s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 407s 407s Options: 407s --version show program's version number and exit 407s -h, --help show this help message and exit 407s --manpage output a manpage based on the help 407s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 407s --errorlevel=ERRORLEVEL 407s show errorlevel as: none, message, exception, 407s traceback 407s -i INPUT, --input=INPUT 407s read from INPUT in lang, properties, strings formats 407s -x EXCLUDE, --exclude=EXCLUDE 407s exclude names matching EXCLUDE from input paths 407s -o OUTPUT, --output=OUTPUT 407s write to OUTPUT in po, pot formats 407s -t TEMPLATE, --template=TEMPLATE 407s read from TEMPLATE in lang, properties, strings 407s formats 407s -S, --timestamp skip conversion if the output file has newer timestamp 407s -P, --pot output PO Templates (.pot) rather than PO files (.po) 407s --personality=TYPE override the input file format: java, java-utf8, java- 407s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 407s strings, strings-utf8, joomla (for .properties files, 407s default: java) 407s --encoding=ENCODING override the encoding set by the personality 407s --duplicates=DUPLICATESTYLE 407s what to do with duplicate strings (identical source 407s text): merge, msgctxt (default: 'msgctxt') 407s ========= SMOKE TEST: /usr/bin/pydiff =========== 407s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 407s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 407s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 407s fromfile tofile 407s 407s positional arguments: 407s fromfile 407s tofile 407s 407s options: 407s -h, --help show this help message and exit 407s -i, --ignore-case Ignore case differences in file contents. 407s -U NUM, --unified NUM 407s Output NUM (default 3) lines of unified context 407s -r, --recursive Recursively compare any subdirectories found. 407s -N, --new-file Treat absent files as empty. 407s --unidirectional-new-file 407s Treat absent first files as empty. 407s -s, --report-identical-files 407s Report when two files are the same. 407s -x PAT, --exclude PAT 407s Exclude files that match PAT. 407s --fromcontains TEXT Only show changes where fromfile contains TEXT 407s --tocontains TEXT Only show changes where tofile contains TEXT 407s --contains TEXT Only show changes where fromfile or tofile contains 407s TEXT 407s -I, --ignore-case-contains 407s Ignore case differences when matching any of the 407s changes 407s --accelerator ACCELERATORS 407s ignores the given accelerator characters when matching 407s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 407s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 407s 407s Convert Python format .po files to PHP format .po files. 407s 407s Options: 407s --version show program's version number and exit 407s -h, --help show this help message and exit 407s --manpage output a manpage based on the help 407s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 407s --errorlevel=ERRORLEVEL 407s show errorlevel as: none, message, exception, 407s traceback 407s -i INPUT, --input=INPUT 407s read from INPUT in po, pot formats 407s -x EXCLUDE, --exclude=EXCLUDE 407s exclude names matching EXCLUDE from input paths 407s -o OUTPUT, --output=OUTPUT 407s write to OUTPUT in po, pot formats 407s -S, --timestamp skip conversion if the output file has newer timestamp 407s ========= SMOKE TEST: /usr/bin/rc2po =========== 407s 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] 407s 407s Convert Windows RC files to Gettext PO localization files. See: 407s http://docs.translatehouse.org/projects/translate- 407s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 407s 407s Options: 407s --version show program's version number and exit 407s -h, --help show this help message and exit 407s --manpage output a manpage based on the help 407s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 407s --errorlevel=ERRORLEVEL 407s show errorlevel as: none, message, exception, 407s traceback 407s -i INPUT, --input=INPUT 407s read from INPUT in nls, rc formats 407s -x EXCLUDE, --exclude=EXCLUDE 407s exclude names matching EXCLUDE from input paths 407s -o OUTPUT, --output=OUTPUT 407s write to OUTPUT in po, pot formats 407s -t TEMPLATE, --template=TEMPLATE 407s read from TEMPLATE in nls, rc formats 407s -S, --timestamp skip conversion if the output file has newer timestamp 407s -P, --pot output PO Templates (.pot) rather than PO files (.po) 407s --charset=CHARSET charset to use to decode the RC files (autodetection 407s is used by default) 407s -l LANG, --lang=LANG LANG entry (default: None) 407s --sublang=SUBLANG SUBLANG entry (default: None) 407s --duplicates=DUPLICATESTYLE 407s what to do with duplicate strings (identical source 407s text): merge, msgctxt (default: 'msgctxt') 407s ========= SMOKE TEST: /usr/bin/resx2po =========== 407s 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] 407s 407s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 407s http://docs.translatehouse.org/projects/translate- 407s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 407s 407s Options: 407s --version show program's version number and exit 407s -h, --help show this help message and exit 407s --manpage output a manpage based on the help 407s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 407s --errorlevel=ERRORLEVEL 407s show errorlevel as: none, message, exception, 407s traceback 407s -i INPUT, --input=INPUT 407s read from INPUT in resx format 407s -x EXCLUDE, --exclude=EXCLUDE 407s exclude names matching EXCLUDE from input paths 407s -o OUTPUT, --output=OUTPUT 407s write to OUTPUT in po, pot formats 407s -t TEMPLATE, --template=TEMPLATE 407s read from TEMPLATE in resx format 407s -S, --timestamp skip conversion if the output file has newer timestamp 407s -P, --pot output PO Templates (.pot) rather than PO files (.po) 407s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 407s everything) 407s --duplicates=DUPLICATESTYLE 407s what to do with duplicate strings (identical source 407s text): merge, msgctxt (default: 'msgctxt') 407s ========= SMOKE TEST: /usr/bin/sub2po =========== 407s 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] 407s 407s Convert subtitle files to Gettext PO localization files. See: 407s http://docs.translatehouse.org/projects/translate- 407s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 407s 407s Options: 407s --version show program's version number and exit 407s -h, --help show this help message and exit 407s --manpage output a manpage based on the help 407s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 407s --errorlevel=ERRORLEVEL 407s show errorlevel as: none, message, exception, 407s traceback 407s -i INPUT, --input=INPUT 407s read from INPUT in ass, srt, ssa, sub formats 407s -x EXCLUDE, --exclude=EXCLUDE 407s exclude names matching EXCLUDE from input paths 407s -o OUTPUT, --output=OUTPUT 407s write to OUTPUT in po, pot formats 407s -t TEMPLATE, --template=TEMPLATE 407s read from TEMPLATE in ass, srt, ssa, sub formats 407s -S, --timestamp skip conversion if the output file has newer timestamp 407s -P, --pot output PO Templates (.pot) rather than PO files (.po) 407s --duplicates=DUPLICATESTYLE 407s what to do with duplicate strings (identical source 407s text): merge, msgctxt (default: 'msgctxt') 407s ========= SMOKE TEST: /usr/bin/symb2po =========== 407s 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] 407s 407s Convert Symbian localisation files to Gettext PO localization files. See: 407s http://docs.translatehouse.org/projects/translate- 407s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 407s 407s Options: 407s --version show program's version number and exit 407s -h, --help show this help message and exit 407s --manpage output a manpage based on the help 407s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 407s --errorlevel=ERRORLEVEL 407s show errorlevel as: none, message, exception, 407s traceback 407s -i INPUT, --input=INPUT 407s read from INPUT in r01 format 407s -x EXCLUDE, --exclude=EXCLUDE 407s exclude names matching EXCLUDE from input paths 407s -o OUTPUT, --output=OUTPUT 407s write to OUTPUT in po, pot formats 407s -t TEMPLATE, --template=TEMPLATE 407s read from TEMPLATE in 407s -S, --timestamp skip conversion if the output file has newer timestamp 407s -P, --pot output PO Templates (.pot) rather than PO files (.po) 407s --duplicates=DUPLICATESTYLE 407s what to do with duplicate strings (identical source 407s text): merge, msgctxt (default: 'msgctxt') 408s ========= SMOKE TEST: /usr/bin/tbx2po =========== 408s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 408s 408s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 408s http://docs.translatehouse.org/projects/translate- 408s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 408s 408s Options: 408s --version show program's version number and exit 408s -h, --help show this help message and exit 408s --manpage output a manpage based on the help 408s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 408s --errorlevel=ERRORLEVEL 408s show errorlevel as: none, message, exception, 408s traceback 408s -i INPUT, --input=INPUT 408s read from INPUT in tbx format 408s -x EXCLUDE, --exclude=EXCLUDE 408s exclude names matching EXCLUDE from input paths 408s -o OUTPUT, --output=OUTPUT 408s write to OUTPUT in po, pot formats 408s -S, --timestamp skip conversion if the output file has newer timestamp 408s ========= SMOKE TEST: /usr/bin/tiki2po =========== 408s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 408s 408s Convert TikiWiki's language.php files to Gettext PO localization files. See: 408s http://docs.translatehouse.org/projects/translate- 408s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 408s 408s Options: 408s --version show program's version number and exit 408s -h, --help show this help message and exit 408s --manpage output a manpage based on the help 408s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 408s --errorlevel=ERRORLEVEL 408s show errorlevel as: none, message, exception, 408s traceback 408s -i INPUT, --input=INPUT 408s read from INPUT in php format 408s -x EXCLUDE, --exclude=EXCLUDE 408s exclude names matching EXCLUDE from input paths 408s -o OUTPUT, --output=OUTPUT 408s write to OUTPUT in po, pot formats 408s -S, --timestamp skip conversion if the output file has newer timestamp 408s --include-unused Include strings in the unused section 408s ========= SMOKE TEST: /usr/bin/tmserver =========== 408s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 408s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 408s [-s SOURCE_LANG] [-b BIND] [-p PORT] 408s [--max-candidates MAX_CANDIDATES] 408s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 408s [--debug] 408s 408s options: 408s -h, --help show this help message and exit 408s -d TMDBFILE, --tmdb TMDBFILE 408s translation memory database file 408s -f TMFILES, --import-translation-file TMFILES 408s translation file to import into the database 408s -t TARGET_LANG, --import-target-lang TARGET_LANG 408s target language of translation files 408s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 408s source language of translation files 408s -b BIND, --bind BIND address to bind server to (default: localhost) 408s -p PORT, --port PORT port to listen on (default: 8888) 408s --max-candidates MAX_CANDIDATES 408s Maximum number of candidates 408s --min-similarity MIN_SIMILARITY 408s minimum similarity 408s --max-length MAX_LENGTH 408s Maxmimum string length 408s --debug enable debugging features 408s ========= SMOKE TEST: /usr/bin/ts2po =========== 408s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 408s 408s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 408s http://docs.translatehouse.org/projects/translate- 408s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 408s 408s Options: 408s --version show program's version number and exit 408s -h, --help show this help message and exit 408s --manpage output a manpage based on the help 408s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 408s --errorlevel=ERRORLEVEL 408s show errorlevel as: none, message, exception, 408s traceback 408s -i INPUT, --input=INPUT 408s read from INPUT in ts format 408s -x EXCLUDE, --exclude=EXCLUDE 408s exclude names matching EXCLUDE from input paths 408s -o OUTPUT, --output=OUTPUT 408s write to OUTPUT in po, pot formats 408s -S, --timestamp skip conversion if the output file has newer timestamp 408s -P, --pot output PO Templates (.pot) rather than PO files (.po) 408s --duplicates=DUPLICATESTYLE 408s what to do with duplicate strings (identical source 408s text): merge, msgctxt (default: 'msgctxt') 408s ========= SMOKE TEST: /usr/bin/txt2po =========== 408s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 408s 408s Convert plain text (.txt) files to Gettext PO localization files. See: 408s http://docs.translatehouse.org/projects/translate- 408s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 408s 408s Options: 408s --version show program's version number and exit 408s -h, --help show this help message and exit 408s --manpage output a manpage based on the help 408s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 408s --errorlevel=ERRORLEVEL 408s show errorlevel as: none, message, exception, 408s traceback 408s -i INPUT, --input=INPUT 408s read from INPUT in *, txt formats 408s -x EXCLUDE, --exclude=EXCLUDE 408s exclude names matching EXCLUDE from input paths 408s -o OUTPUT, --output=OUTPUT 408s write to OUTPUT in po, pot formats 408s -S, --timestamp skip conversion if the output file has newer timestamp 408s -P, --pot output PO Templates (.pot) rather than PO files (.po) 408s --encoding=ENCODING The encoding of the input file (default: UTF-8) 408s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 408s mediawiki 408s --no-segmentation Don't segment the file, treat it like a single message 408s --duplicates=DUPLICATESTYLE 408s what to do with duplicate strings (identical source 408s text): merge, msgctxt (default: 'msgctxt') 408s ========= SMOKE TEST: /usr/bin/web2py2po =========== 408s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 408s 408s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 408s http://docs.translatehouse.org/projects/translate- 408s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 408s 408s Options: 408s --version show program's version number and exit 408s -h, --help show this help message and exit 408s --manpage output a manpage based on the help 408s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 408s --errorlevel=ERRORLEVEL 408s show errorlevel as: none, message, exception, 408s traceback 408s -i INPUT, --input=INPUT 408s read from INPUT in py format 408s -x EXCLUDE, --exclude=EXCLUDE 408s exclude names matching EXCLUDE from input paths 408s -o OUTPUT, --output=OUTPUT 408s write to OUTPUT in po, pot formats 408s -S, --timestamp skip conversion if the output file has newer timestamp 408s -P, --pot output PO Templates (.pot) rather than PO files (.po) 408s --duplicates=DUPLICATESTYLE 408s what to do with duplicate strings (identical source 408s text): merge, msgctxt (default: 'msgctxt') 408s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 409s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 409s 409s Convert XLIFF translation files to OpenDocument (ODF) files. See: 409s http://docs.translatehouse.org/projects/translate- 409s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 409s 409s Options: 409s --version show program's version number and exit 409s -h, --help show this help message and exit 409s --manpage output a manpage based on the help 409s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 409s --errorlevel=ERRORLEVEL 409s show errorlevel as: none, message, exception, 409s traceback 409s -i INPUT, --input=INPUT 409s read from INPUT in xlf format 409s -x EXCLUDE, --exclude=EXCLUDE 409s exclude names matching EXCLUDE from input paths 409s -o OUTPUT, --output=OUTPUT 409s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 409s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 409s -t TEMPLATE, --template=TEMPLATE 409s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 409s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 409s formats 409s -S, --timestamp skip conversion if the output file has newer timestamp 409s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 409s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 409s 409s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 409s file. See: http://docs.translatehouse.org/projects/translate- 409s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 409s 409s Options: 409s --version show program's version number and exit 409s -h, --help show this help message and exit 409s --manpage output a manpage based on the help 409s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 409s --errorlevel=ERRORLEVEL 409s show errorlevel as: none, message, exception, 409s traceback 409s -i INPUT, --input=INPUT 409s read from INPUT in po, pot, xlf, xliff formats 409s -x EXCLUDE, --exclude=EXCLUDE 409s exclude names matching EXCLUDE from input paths 409s -o OUTPUT, --output=OUTPUT 409s write to OUTPUT in oo, sdf formats 409s -t TEMPLATE, --template=TEMPLATE 409s read from TEMPLATE in oo, sdf formats 409s -S, --timestamp skip conversion if the output file has newer timestamp 409s -l LANG, --language=LANG 409s set target language code (e.g. af-ZA) [required] 409s --source-language=LANG 409s set source language code (default en-US) 409s -T, --keeptimestamp don't change the timestamps of the strings 409s --nonrecursiveoutput don't treat the output oo as a recursive store 409s --nonrecursivetemplate 409s don't treat the template oo as a recursive store 409s --skipsource don't output the source language, but fallback to it 409s where needed 409s --filteraction=ACTION 409s action on pofilter failure: none (default), warn, 409s exclude-serious, exclude-all 409s --fuzzy use translations marked fuzzy 409s --nofuzzy don't use translations marked fuzzy (default) 409s --multifile=MULTIFILESTYLE 409s how to split po/pot files (single, toplevel or 409s onefile) 409s ========= SMOKE TEST: /usr/bin/xliff2po =========== 409s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 409s 409s Convert XLIFF localization files to Gettext PO localization files. See: 409s http://docs.translatehouse.org/projects/translate- 409s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 409s 409s Options: 409s --version show program's version number and exit 409s -h, --help show this help message and exit 409s --manpage output a manpage based on the help 409s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 409s --errorlevel=ERRORLEVEL 409s show errorlevel as: none, message, exception, 409s traceback 409s -i INPUT, --input=INPUT 409s read from INPUT in xlf, xliff formats 409s -x EXCLUDE, --exclude=EXCLUDE 409s exclude names matching EXCLUDE from input paths 409s -o OUTPUT, --output=OUTPUT 409s write to OUTPUT in po, pot formats 409s -S, --timestamp skip conversion if the output file has newer timestamp 409s -P, --pot output PO Templates (.pot) rather than PO files (.po) 409s --duplicates=DUPLICATESTYLE 409s what to do with duplicate strings (identical source 409s text): merge, msgctxt (default: 'msgctxt') 409s ========= SMOKE TEST: /usr/bin/yaml2po =========== 409s 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] 409s 409s Convert YAML files to Gettext PO localization files. See: 409s http://docs.translatehouse.org/projects/translate- 409s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 409s 409s Options: 409s --version show program's version number and exit 409s -h, --help show this help message and exit 409s --manpage output a manpage based on the help 409s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 409s --errorlevel=ERRORLEVEL 409s show errorlevel as: none, message, exception, 409s traceback 409s -i INPUT, --input=INPUT 409s read from INPUT in yaml, yml formats 409s -x EXCLUDE, --exclude=EXCLUDE 409s exclude names matching EXCLUDE from input paths 409s -o OUTPUT, --output=OUTPUT 409s write to OUTPUT in po, pot formats 409s -t TEMPLATE, --template=TEMPLATE 409s read from TEMPLATE in yaml, yml formats 409s -S, --timestamp skip conversion if the output file has newer timestamp 409s -P, --pot output PO Templates (.pot) rather than PO files (.po) 409s --duplicates=DUPLICATESTYLE 409s what to do with duplicate strings (identical source 409s text): merge, msgctxt (default: 'msgctxt') 410s autopkgtest [21:46:30]: test translate-toolkit: -----------------------] 410s autopkgtest [21:46:30]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 410s translate-toolkit PASS 411s autopkgtest [21:46:31]: test python3-translate: preparing testbed 711s autopkgtest [21:51:31]: testbed dpkg architecture: ppc64el 711s autopkgtest [21:51:31]: testbed apt version: 2.7.12 711s autopkgtest [21:51:31]: @@@@@@@@@@@@@@@@@@@@ test bed setup 712s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 713s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.9 kB] 713s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3811 kB] 714s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [500 kB] 714s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 714s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [684 kB] 714s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 714s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 714s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 714s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4161 kB] 715s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 715s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [58.6 kB] 715s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 718s Fetched 9406 kB in 3s (2705 kB/s) 718s Reading package lists... 721s Reading package lists... 721s Building dependency tree... 721s Reading state information... 721s Calculating upgrade... 722s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 722s Reading package lists... 722s Building dependency tree... 722s Reading state information... 722s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 723s sh: Attempting to set up Debian/Ubuntu apt sources automatically 723s sh: Distribution appears to be Ubuntu 724s Reading package lists... 724s Building dependency tree... 724s Reading state information... 724s eatmydata is already the newest version (131-1). 724s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 724s Reading package lists... 724s Building dependency tree... 724s Reading state information... 724s dbus is already the newest version (1.14.10-4ubuntu1). 724s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 724s Reading package lists... 725s Building dependency tree... 725s Reading state information... 725s rng-tools-debian is already the newest version (2.4). 725s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 725s Reading package lists... 725s Building dependency tree... 725s Reading state information... 725s The following packages will be REMOVED: 725s cloud-init* python3-configobj* python3-debconf* 725s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 725s After this operation, 3252 kB disk space will be freed. 726s (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 ... 70095 files and directories currently installed.) 726s Removing cloud-init (24.1.1-0ubuntu1) ... 726s Removing python3-configobj (5.0.8-3) ... 726s Removing python3-debconf (1.5.86) ... 726s Processing triggers for man-db (2.12.0-3) ... 727s (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 ... 69706 files and directories currently installed.) 727s Purging configuration files for cloud-init (24.1.1-0ubuntu1) ... 728s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 728s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 728s invoke-rc.d: policy-rc.d denied execution of try-restart. 728s Reading package lists... 728s Building dependency tree... 728s Reading state information... 728s linux-generic is already the newest version (6.8.0-11.11+1). 728s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 729s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 729s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 729s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 731s Reading package lists... 731s Reading package lists... 732s Building dependency tree... 732s Reading state information... 732s Calculating upgrade... 732s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 732s Reading package lists... 732s Building dependency tree... 732s Reading state information... 732s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 733s autopkgtest [21:51:53]: rebooting testbed after setup commands that affected boot 915s Reading package lists... 915s Building dependency tree... 915s Reading state information... 915s Starting pkgProblemResolver with broken count: 0 915s Starting 2 pkgProblemResolver with broken count: 0 915s Done 916s The following additional packages will be installed: 916s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 916s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 916s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 916s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 916s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 916s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 916s python3-more-itertools python3-packaging python3-phply python3-pluggy 916s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 916s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 916s python3-translate python3-vobject python3-xapian subversion 916s Suggested packages: 916s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 916s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 916s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 916s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 916s libapache2-mod-svn subversion-tools 916s Recommended packages: 916s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 916s python3-cssselect python3-html5lib 916s The following NEW packages will be installed: 916s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 916s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 916s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 916s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 916s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 916s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 916s python3-more-itertools python3-packaging python3-phply python3-pluggy 916s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 916s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 916s python3-translate python3-vobject python3-xapian subversion 916s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 916s Need to get 11.4 MB/11.4 MB of archives. 916s After this operation, 54.3 MB of additional disk space will be used. 916s Get:1 /tmp/autopkgtest.mwn32D/2-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [876 B] 916s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 916s Get:3 http://ftpmaster.internal/ubuntu noble/main ppc64el dictionaries-common all 1.29.7 [188 kB] 916s Get:4 http://ftpmaster.internal/ubuntu noble/main ppc64el libgomp1 ppc64el 14-20240303-1ubuntu1 [161 kB] 916s Get:5 http://ftpmaster.internal/ubuntu noble/main ppc64el gettext ppc64el 0.21-14ubuntu1 [979 kB] 917s Get:6 http://ftpmaster.internal/ubuntu noble/main ppc64el hunspell-en-us all 1:2020.12.07-2 [280 kB] 917s Get:7 http://ftpmaster.internal/ubuntu noble/main ppc64el libapr1 ppc64el 1.7.2-3 [130 kB] 917s Get:8 http://ftpmaster.internal/ubuntu noble/main ppc64el libaprutil1 ppc64el 1.6.3-1ubuntu1 [110 kB] 917s Get:9 http://ftpmaster.internal/ubuntu noble/main ppc64el libaspell15 ppc64el 0.60.8.1-1 [466 kB] 917s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10 [309 kB] 917s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libenchant-2-2 ppc64el 2.3.3-2 [58.4 kB] 917s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el libexttextcat-data all 3.4.7-1 [235 kB] 917s Get:13 http://ftpmaster.internal/ubuntu noble/universe ppc64el libserf-1-1 ppc64el 1.3.10-1 [55.4 kB] 917s Get:14 http://ftpmaster.internal/ubuntu noble/universe ppc64el libutf8proc3 ppc64el 2.9.0-1 [71.6 kB] 917s Get:15 http://ftpmaster.internal/ubuntu noble/universe ppc64el libsvn1 ppc64el 1.14.3-1build2 [1640 kB] 918s Get:16 http://ftpmaster.internal/ubuntu noble/universe ppc64el libxapian30 ppc64el 1.4.22-1 [825 kB] 918s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libxslt1.1 ppc64el 1.1.35-1 [185 kB] 918s Get:18 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-aeidon all 1.11-2 [221 kB] 918s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-all ppc64el 3.12.1-0ubuntu2 [904 B] 918s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-soupsieve all 2.5-1 [33.0 kB] 918s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-bs4 all 4.12.3-1 [109 kB] 918s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 918s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-jaraco.functools all 4.0.0-1 [10.7 kB] 918s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 918s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dateutil all 2.8.2-3 [79.2 kB] 918s Get:26 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-diff-match-patch all 20230430-1 [33.1 kB] 918s Get:27 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-enchant all 3.2.2-1 [34.0 kB] 918s Get:28 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 918s Get:29 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-levenshtein ppc64el 0.12.2-3 [53.9 kB] 918s Get:30 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-lxml ppc64el 5.1.0-1 [2191 kB] 918s Get:31 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-mistletoe all 1.3.0-1 [38.0 kB] 918s Get:32 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-packaging all 23.2-1 [40.6 kB] 918s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-ply all 3.11-6 [46.5 kB] 918s Get:34 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 918s Get:35 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pluggy all 1.4.0-1 [20.4 kB] 918s Get:36 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest all 7.4.4-1 [305 kB] 919s Get:37 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.8-1 [235 kB] 919s Get:38 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 919s Get:39 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-simplejson ppc64el 3.19.2-1build1 [70.4 kB] 919s Get:40 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-syrupy all 4.6.1-1 [42.8 kB] 919s Get:41 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-translate all 3.12.2-1 [317 kB] 919s Get:42 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-vobject all 0.9.6.1-2 [40.6 kB] 919s Get:43 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-xapian ppc64el 1.4.22-1build2 [519 kB] 919s Get:44 http://ftpmaster.internal/ubuntu noble/universe ppc64el subversion ppc64el 1.14.3-1build2 [945 kB] 919s Get:45 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniparse all 0.5-2 [20.0 kB] 919s Get:46 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 919s Preconfiguring packages ... 919s Fetched 11.4 MB in 3s (3356 kB/s) 919s Selecting previously unselected package emacsen-common. 920s (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 ... 69651 files and directories currently installed.) 920s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 920s Unpacking emacsen-common (3.0.5) ... 920s Selecting previously unselected package dictionaries-common. 920s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 920s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 920s Unpacking dictionaries-common (1.29.7) ... 920s Selecting previously unselected package libgomp1:ppc64el. 920s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_ppc64el.deb ... 920s Unpacking libgomp1:ppc64el (14-20240303-1ubuntu1) ... 920s Selecting previously unselected package gettext. 920s Preparing to unpack .../03-gettext_0.21-14ubuntu1_ppc64el.deb ... 920s Unpacking gettext (0.21-14ubuntu1) ... 920s Selecting previously unselected package hunspell-en-us. 920s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 920s Unpacking hunspell-en-us (1:2020.12.07-2) ... 920s Selecting previously unselected package libapr1:ppc64el. 920s Preparing to unpack .../05-libapr1_1.7.2-3_ppc64el.deb ... 920s Unpacking libapr1:ppc64el (1.7.2-3) ... 920s Selecting previously unselected package libaprutil1:ppc64el. 920s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_ppc64el.deb ... 920s Unpacking libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 920s Selecting previously unselected package libaspell15:ppc64el. 920s Preparing to unpack .../07-libaspell15_0.60.8.1-1_ppc64el.deb ... 920s Unpacking libaspell15:ppc64el (0.60.8.1-1) ... 920s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 920s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_ppc64el.deb ... 920s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 920s Selecting previously unselected package libenchant-2-2:ppc64el. 920s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_ppc64el.deb ... 920s Unpacking libenchant-2-2:ppc64el (2.3.3-2) ... 920s Selecting previously unselected package libexttextcat-data. 920s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 920s Unpacking libexttextcat-data (3.4.7-1) ... 920s Selecting previously unselected package libserf-1-1:ppc64el. 920s Preparing to unpack .../11-libserf-1-1_1.3.10-1_ppc64el.deb ... 920s Unpacking libserf-1-1:ppc64el (1.3.10-1) ... 920s Selecting previously unselected package libutf8proc3:ppc64el. 920s Preparing to unpack .../12-libutf8proc3_2.9.0-1_ppc64el.deb ... 920s Unpacking libutf8proc3:ppc64el (2.9.0-1) ... 920s Selecting previously unselected package libsvn1:ppc64el. 920s Preparing to unpack .../13-libsvn1_1.14.3-1build2_ppc64el.deb ... 920s Unpacking libsvn1:ppc64el (1.14.3-1build2) ... 920s Selecting previously unselected package libxapian30:ppc64el. 920s Preparing to unpack .../14-libxapian30_1.4.22-1_ppc64el.deb ... 920s Unpacking libxapian30:ppc64el (1.4.22-1) ... 920s Selecting previously unselected package libxslt1.1:ppc64el. 920s Preparing to unpack .../15-libxslt1.1_1.1.35-1_ppc64el.deb ... 920s Unpacking libxslt1.1:ppc64el (1.1.35-1) ... 920s Selecting previously unselected package python3-aeidon. 920s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 920s Unpacking python3-aeidon (1.11-2) ... 920s Selecting previously unselected package python3-all. 920s Preparing to unpack .../17-python3-all_3.12.1-0ubuntu2_ppc64el.deb ... 920s Unpacking python3-all (3.12.1-0ubuntu2) ... 920s Selecting previously unselected package python3-soupsieve. 920s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 920s Unpacking python3-soupsieve (2.5-1) ... 920s Selecting previously unselected package python3-bs4. 920s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 920s Unpacking python3-bs4 (4.12.3-1) ... 920s Selecting previously unselected package python3-more-itertools. 920s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 920s Unpacking python3-more-itertools (10.2.0-1) ... 920s Selecting previously unselected package python3-jaraco.functools. 920s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 920s Unpacking python3-jaraco.functools (4.0.0-1) ... 920s Selecting previously unselected package python3-cheroot. 920s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-1_all.deb ... 920s Unpacking python3-cheroot (10.0.0+ds1-1) ... 920s Selecting previously unselected package python3-dateutil. 920s Preparing to unpack .../23-python3-dateutil_2.8.2-3_all.deb ... 920s Unpacking python3-dateutil (2.8.2-3) ... 920s Selecting previously unselected package python3-diff-match-patch. 920s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 920s Unpacking python3-diff-match-patch (20230430-1) ... 920s Selecting previously unselected package python3-enchant. 920s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 920s Unpacking python3-enchant (3.2.2-1) ... 920s Selecting previously unselected package python3-iniconfig. 920s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 920s Unpacking python3-iniconfig (1.1.1-2) ... 920s Selecting previously unselected package python3-levenshtein. 920s Preparing to unpack .../27-python3-levenshtein_0.12.2-3_ppc64el.deb ... 920s Unpacking python3-levenshtein (0.12.2-3) ... 920s Selecting previously unselected package python3-lxml:ppc64el. 920s Preparing to unpack .../28-python3-lxml_5.1.0-1_ppc64el.deb ... 920s Unpacking python3-lxml:ppc64el (5.1.0-1) ... 920s Selecting previously unselected package python3-mistletoe. 920s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 920s Unpacking python3-mistletoe (1.3.0-1) ... 920s Selecting previously unselected package python3-packaging. 920s Preparing to unpack .../30-python3-packaging_23.2-1_all.deb ... 920s Unpacking python3-packaging (23.2-1) ... 920s Selecting previously unselected package python3-ply. 920s Preparing to unpack .../31-python3-ply_3.11-6_all.deb ... 920s Unpacking python3-ply (3.11-6) ... 920s Selecting previously unselected package python3-phply. 920s Preparing to unpack .../32-python3-phply_1.2.6-1_all.deb ... 920s Unpacking python3-phply (1.2.6-1) ... 920s Selecting previously unselected package python3-pluggy. 920s Preparing to unpack .../33-python3-pluggy_1.4.0-1_all.deb ... 920s Unpacking python3-pluggy (1.4.0-1) ... 920s Selecting previously unselected package python3-pytest. 920s Preparing to unpack .../34-python3-pytest_7.4.4-1_all.deb ... 920s Unpacking python3-pytest (7.4.4-1) ... 920s Selecting previously unselected package python3-ruamel.yaml.clib:ppc64el. 920s Preparing to unpack .../35-python3-ruamel.yaml.clib_0.2.8-1_ppc64el.deb ... 920s Unpacking python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 920s Selecting previously unselected package python3-ruamel.yaml. 921s Preparing to unpack .../36-python3-ruamel.yaml_0.17.21-1_all.deb ... 921s Unpacking python3-ruamel.yaml (0.17.21-1) ... 921s Selecting previously unselected package python3-simplejson. 921s Preparing to unpack .../37-python3-simplejson_3.19.2-1build1_ppc64el.deb ... 921s Unpacking python3-simplejson (3.19.2-1build1) ... 921s Selecting previously unselected package python3-syrupy. 921s Preparing to unpack .../38-python3-syrupy_4.6.1-1_all.deb ... 921s Unpacking python3-syrupy (4.6.1-1) ... 921s Selecting previously unselected package python3-translate. 921s Preparing to unpack .../39-python3-translate_3.12.2-1_all.deb ... 921s Unpacking python3-translate (3.12.2-1) ... 921s Selecting previously unselected package python3-vobject. 921s Preparing to unpack .../40-python3-vobject_0.9.6.1-2_all.deb ... 921s Unpacking python3-vobject (0.9.6.1-2) ... 921s Selecting previously unselected package python3-xapian. 921s Preparing to unpack .../41-python3-xapian_1.4.22-1build2_ppc64el.deb ... 921s Unpacking python3-xapian (1.4.22-1build2) ... 921s Selecting previously unselected package subversion. 921s Preparing to unpack .../42-subversion_1.14.3-1build2_ppc64el.deb ... 921s Unpacking subversion (1.14.3-1build2) ... 921s Selecting previously unselected package python3-iniparse. 921s Preparing to unpack .../43-python3-iniparse_0.5-2_all.deb ... 921s Unpacking python3-iniparse (0.5-2) ... 921s Selecting previously unselected package python3-pycountry. 921s Preparing to unpack .../44-python3-pycountry_23.12.11+ds1-2_all.deb ... 921s Unpacking python3-pycountry (23.12.11+ds1-2) ... 921s Selecting previously unselected package autopkgtest-satdep. 921s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 921s Unpacking autopkgtest-satdep (0) ... 921s Setting up python3-more-itertools (10.2.0-1) ... 921s Setting up python3-iniconfig (1.1.1-2) ... 921s Setting up libxapian30:ppc64el (1.4.22-1) ... 921s Setting up python3-diff-match-patch (20230430-1) ... 921s Setting up python3-jaraco.functools (4.0.0-1) ... 921s Setting up python3-aeidon (1.11-2) ... 922s Setting up libutf8proc3:ppc64el (2.9.0-1) ... 922s Setting up libaspell15:ppc64el (0.60.8.1-1) ... 922s Setting up python3-ply (3.11-6) ... 922s Setting up python3-ruamel.yaml.clib:ppc64el (0.2.8-1) ... 922s Setting up libapr1:ppc64el (1.7.2-3) ... 922s Setting up python3-all (3.12.1-0ubuntu2) ... 922s Setting up libgomp1:ppc64el (14-20240303-1ubuntu1) ... 922s Setting up python3-simplejson (3.19.2-1build1) ... 922s Setting up python3-packaging (23.2-1) ... 922s Setting up emacsen-common (3.0.5) ... 922s Setting up python3-cheroot (10.0.0+ds1-1) ... 922s Setting up python3-pycountry (23.12.11+ds1-2) ... 923s Setting up python3-xapian (1.4.22-1build2) ... 923s Setting up python3-pluggy (1.4.0-1) ... 923s Setting up python3-ruamel.yaml (0.17.21-1) ... 923s Setting up python3-mistletoe (1.3.0-1) ... 923s Setting up libexttextcat-data (3.4.7-1) ... 923s Setting up libxslt1.1:ppc64el (1.1.35-1) ... 923s Setting up python3-dateutil (2.8.2-3) ... 923s Setting up python3-levenshtein (0.12.2-3) ... 924s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10) ... 924s Setting up python3-soupsieve (2.5-1) ... 924s Setting up python3-iniparse (0.5-2) ... 924s Setting up libaprutil1:ppc64el (1.6.3-1ubuntu1) ... 924s Setting up python3-vobject (0.9.6.1-2) ... 924s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 924s patterns['name'] = '[a-zA-Z0-9\-_]+' 924s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 924s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 924s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 924s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 924s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 924s """ 924s Setting up gettext (0.21-14ubuntu1) ... 924s Setting up python3-phply (1.2.6-1) ... 924s Setting up dictionaries-common (1.29.7) ... 925s Setting up python3-pytest (7.4.4-1) ... 925s Setting up python3-syrupy (4.6.1-1) ... 925s Setting up libserf-1-1:ppc64el (1.3.10-1) ... 925s Setting up python3-bs4 (4.12.3-1) ... 925s Setting up python3-lxml:ppc64el (5.1.0-1) ... 926s Setting up hunspell-en-us (1:2020.12.07-2) ... 926s Setting up libsvn1:ppc64el (1.14.3-1build2) ... 926s Setting up libenchant-2-2:ppc64el (2.3.3-2) ... 926s Setting up subversion (1.14.3-1build2) ... 926s Setting up python3-enchant (3.2.2-1) ... 926s Setting up python3-translate (3.12.2-1) ... 926s Setting up autopkgtest-satdep (0) ... 926s Processing triggers for man-db (2.12.0-3) ... 927s Processing triggers for install-info (7.1-3) ... 927s Processing triggers for libc-bin (2.39-0ubuntu2) ... 927s Processing triggers for dictionaries-common (1.29.7) ... 931s (Reading database ... 73050 files and directories currently installed.) 931s Removing autopkgtest-satdep (0) ... 937s autopkgtest [21:55:17]: test python3-translate: [----------------------- 938s ============================= test session starts ============================== 938s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 938s cachedir: .pytest_cache 938s rootdir: /tmp/autopkgtest.mwn32D/autopkgtest_tmp 938s plugins: syrupy-4.6.1 944s collecting ... collected 3313 items / 2 skipped 944s 944s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 944s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 944s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 944s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 944s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 944s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 944s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 944s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 944s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 944s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 944s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 944s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 944s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 945s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 945s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 945s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 945s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 945s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 945s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 945s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 945s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 945s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 945s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 945s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 945s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 945s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 945s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 945s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 945s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 945s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 945s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 945s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 945s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 945s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 945s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 946s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 946s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 946s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 946s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 946s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 946s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 946s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 946s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 946s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 946s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 946s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 946s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 946s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 946s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 946s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 946s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 946s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 946s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 946s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 947s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 947s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 947s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 947s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 947s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 947s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 947s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 947s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 947s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 947s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 947s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 947s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 947s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 947s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 947s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 948s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 948s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 948s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 948s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 948s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 948s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 948s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 948s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 948s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 948s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 948s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 948s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 948s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 948s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 948s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 948s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 948s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 948s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 948s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 948s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 948s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 948s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 948s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 949s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 949s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 949s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 949s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 949s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 949s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 949s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 949s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 949s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 949s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 949s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 949s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 949s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 949s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 949s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 949s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 949s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 949s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 949s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 949s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 949s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 949s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 949s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 949s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 949s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 949s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 949s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 949s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 949s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 949s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 949s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 949s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 949s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 949s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 949s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 949s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 949s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 949s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 950s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 950s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 950s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 950s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 950s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 950s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 950s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 950s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 950s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 950s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 950s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 950s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 950s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 950s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 950s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 950s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 950s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 950s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 950s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 950s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 950s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 950s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 950s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 950s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 950s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 950s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 950s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 950s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 950s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 950s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 950s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 950s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 950s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 950s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 950s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 950s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 950s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 950s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 950s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 950s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 950s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 950s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 950s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 950s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 950s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 950s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 950s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 950s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 950s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 950s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 950s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 950s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 950s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 951s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 951s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 951s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 951s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 951s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 951s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 951s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 951s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 951s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 951s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 951s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 951s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 951s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 951s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 951s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 951s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 951s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 951s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 951s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 951s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 951s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 951s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 951s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 951s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 951s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 951s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 951s 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%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 951s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 951s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 952s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 952s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 952s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 952s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 952s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 952s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 952s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 952s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 952s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 952s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 952s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 952s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 952s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 952s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 952s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 952s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 952s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 952s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 952s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 954s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 954s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 954s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 954s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 954s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 954s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 954s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 954s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 954s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 954s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 954s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 954s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 954s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 954s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 954s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 954s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 954s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 954s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 954s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 955s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 955s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 955s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 955s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 955s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 955s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 955s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 955s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 955s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 955s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 955s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 955s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 955s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 955s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 955s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 955s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 955s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 955s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 955s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 955s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 955s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 957s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 957s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 957s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 957s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 957s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 957s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 957s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 957s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 957s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 957s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 957s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 957s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 957s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 957s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 957s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 957s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 957s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 957s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 957s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 957s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 957s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 957s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 957s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 957s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 957s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 957s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 957s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 957s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 957s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 957s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 957s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 957s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 957s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 958s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 958s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 958s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 958s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 958s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 958s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 958s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 958s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 958s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 958s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 958s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 958s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 958s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 958s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 958s 958s =============================== warnings summary =============================== 958s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 958s Warning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 958s 958s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 958s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.mwn32D/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 958s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 958s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 958s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 958s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 958s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 958s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 958s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 958s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 958s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 958s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 958s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 958s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 958s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 958s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 958s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 958s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 958s Warning: Could not find accesskey for key.accesskey 958s 958s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 958s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 958s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 958s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 958s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 958s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.mwn32D/autopkgtest_tmp/tests/translate/convert/test.idml'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 958s Warning: unclosed file <_io.BufferedReader name='translation.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 958s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 958s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 958s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 958s Warning: Could not find accesskey for prop.accesskey 958s 958s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 958s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 958s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 958s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 958s Enable tracemalloc to get traceback where the object was allocated. 958s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 958s 958s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 958s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 959s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 959s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 959s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 959s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 959s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 959s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 959s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 959s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.mwn32D/autopkgtest_tmp/tests/translate/convert/test.odt'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 959s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 959s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 959s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 959s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 959s Enable tracemalloc to get traceback where the object was allocated. 959s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 959s 959s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 959s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 959s 959s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 959s Warning: DTD file '' does not validate 959s 959s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 959s --------------------------- snapshot report summary ---------------------------- 959s 23 snapshots passed. 959s =========================== short test summary info ============================ 959s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 959s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 959s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 959s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 959s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 959s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 959s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 959s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 959s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 959s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 959s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 959s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 959s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 959s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 959s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 959s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 959s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 959s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 959s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 959s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 959s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 959s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 959s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 959s 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. 959s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 959s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 959s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 959s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 959s 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 959s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 959s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 959s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 959s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 959s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 959s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 959s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 959s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 959s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 959s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 959s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 959s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 959s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 959s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 959s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 959s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 959s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 959s ========== 3254 passed, 22 skipped, 39 xfailed, 47 warnings in 20.71s ========== 959s autopkgtest [21:55:39]: test python3-translate: -----------------------] 960s autopkgtest [21:55:40]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 960s python3-translate PASS 960s autopkgtest [21:55:40]: test python3-translate-commands: preparing testbed 971s Reading package lists... 971s Building dependency tree... 971s Reading state information... 971s Starting pkgProblemResolver with broken count: 0 971s Starting 2 pkgProblemResolver with broken count: 0 971s Done 972s The following additional packages will be installed: 972s translate-toolkit 972s Recommended packages: 972s translate-toolkit-doc 972s The following NEW packages will be installed: 972s autopkgtest-satdep translate-toolkit 972s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 972s Need to get 88.2 kB/89.1 kB of archives. 972s After this operation, 253 kB of additional disk space will be used. 972s Get:1 /tmp/autopkgtest.mwn32D/3-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [888 B] 972s Get:2 http://ftpmaster.internal/ubuntu noble/universe ppc64el translate-toolkit all 3.12.2-1 [88.2 kB] 972s Fetched 88.2 kB in 0s (285 kB/s) 972s Selecting previously unselected package translate-toolkit. 972s (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 ... 73050 files and directories currently installed.) 972s Preparing to unpack .../translate-toolkit_3.12.2-1_all.deb ... 972s Unpacking translate-toolkit (3.12.2-1) ... 972s Selecting previously unselected package autopkgtest-satdep. 972s Preparing to unpack .../3-autopkgtest-satdep.deb ... 972s Unpacking autopkgtest-satdep (0) ... 972s Setting up translate-toolkit (3.12.2-1) ... 972s Setting up autopkgtest-satdep (0) ... 972s Processing triggers for man-db (2.12.0-3) ... 975s (Reading database ... 73223 files and directories currently installed.) 975s Removing autopkgtest-satdep (0) ... 976s autopkgtest [21:55:56]: test python3-translate-commands: [----------------------- 977s ============================= test session starts ============================== 977s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 977s cachedir: .pytest_cache 977s rootdir: /tmp/autopkgtest.mwn32D/autopkgtest_tmp 977s plugins: syrupy-4.6.1 983s collecting ... collected 3313 items / 2 skipped 983s 983s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 983s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 983s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 983s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 983s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 983s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 983s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 983s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 983s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 983s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 983s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 983s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 983s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 984s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 984s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 984s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 984s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 984s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 984s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 984s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 984s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 984s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 984s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 984s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 984s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 984s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 984s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 984s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 984s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 984s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 984s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 984s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 984s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 984s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 984s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 985s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 985s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 985s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 985s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 985s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 985s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 985s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 985s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 985s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 985s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 985s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 985s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 985s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 985s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 985s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 985s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 985s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 985s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 986s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 986s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 986s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 986s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 986s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 986s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 986s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 986s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 986s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 987s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 987s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 987s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 987s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 987s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 987s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 987s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 987s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 987s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 987s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 987s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 987s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 987s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 987s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 987s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 987s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 987s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 987s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 987s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 987s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 987s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 987s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 988s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 988s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 988s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 988s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 988s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 988s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 988s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 988s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 988s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 988s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 988s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 988s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 988s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 988s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 988s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 988s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 988s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 988s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 988s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 988s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 988s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 988s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 988s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 988s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 988s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 988s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 989s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 989s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 989s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 989s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 989s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 989s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 989s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 989s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 989s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 989s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 989s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 989s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 989s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 989s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 989s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 989s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 989s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 989s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 989s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 989s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 989s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 989s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 989s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 989s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 989s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 989s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 989s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 989s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 989s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 989s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 989s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 989s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 989s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 989s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 989s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 989s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 989s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 989s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 989s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 989s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 989s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 989s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 989s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 989s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 989s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 989s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 989s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 989s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 989s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 989s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 989s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 989s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 989s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 989s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 989s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 989s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 989s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 989s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 990s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 990s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 990s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 990s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 990s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 990s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 990s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 990s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 990s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 990s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 990s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 990s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 990s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 990s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 990s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 990s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 990s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 990s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 990s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 990s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 991s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 991s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 991s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 991s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 991s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 991s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 991s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 991s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 991s 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%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 991s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 991s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 991s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 991s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 991s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 991s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 991s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 991s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 991s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 991s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 991s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 991s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 991s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 991s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 991s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 991s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 991s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 991s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 991s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 991s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 992s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 992s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 993s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 993s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 993s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 993s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 993s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 993s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 993s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 993s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 993s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 993s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 993s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 993s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 993s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 993s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 993s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 994s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 994s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 994s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 994s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 994s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 994s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 994s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 994s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 994s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 994s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 994s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 994s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 994s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 994s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 994s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 994s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 994s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 994s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 994s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 994s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 994s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 994s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 994s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 994s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 994s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 994s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 994s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 994s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 994s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 994s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 995s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 995s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 995s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 995s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 995s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 995s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 996s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 996s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 996s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 997s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 997s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 997s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 997s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 997s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 997s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 997s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 997s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 997s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 997s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 997s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 997s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 997s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 997s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 997s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 997s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 997s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 998s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 998s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 998s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 998s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 998s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 998s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 998s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 998s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 998s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 998s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 998s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 998s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 998s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 998s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 998s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 998s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 998s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 998s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 998s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 998s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 998s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 998s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 998s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 998s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 999s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 999s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 999s 999s =============================== warnings summary =============================== 999s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 999s Warning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 999s 999s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 999s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.mwn32D/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 999s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 999s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 999s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 999s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 999s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 999s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 999s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 999s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 999s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 999s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 999s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 999s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 999s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 999s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 999s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 999s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 999s Warning: Could not find accesskey for key.accesskey 999s 999s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 999s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 999s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 999s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 999s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 999s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.mwn32D/autopkgtest_tmp/tests/translate/convert/test.idml'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 999s Warning: unclosed file <_io.BufferedReader name='translation.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 999s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 999s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 999s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 999s Warning: Could not find accesskey for prop.accesskey 999s 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 999s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 999s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 999s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 999s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 999s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 999s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 999s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 999s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 999s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 999s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 999s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.mwn32D/autopkgtest_tmp/tests/translate/convert/test.odt'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 999s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 999s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 999s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 999s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 999s Enable tracemalloc to get traceback where the object was allocated. 999s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 999s 999s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 999s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 999s 999s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 999s Warning: DTD file '' does not validate 999s 999s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 999s --------------------------- snapshot report summary ---------------------------- 999s 23 snapshots passed. 999s =========================== short test summary info ============================ 999s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 999s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 999s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 999s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 999s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 999s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 999s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 999s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 999s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 999s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 999s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 999s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 999s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 999s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 999s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 999s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 999s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 999s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 999s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 999s 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. 999s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 999s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 999s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 999s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 999s 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 999s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 999s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 999s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 999s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 999s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 999s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 999s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 999s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 999s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 999s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 999s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 999s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 999s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 999s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 999s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 999s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 999s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 999s ========== 3273 passed, 3 skipped, 39 xfailed, 47 warnings in 22.46s =========== 1000s autopkgtest [21:56:20]: test python3-translate-commands: -----------------------] 1001s autopkgtest [21:56:21]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 1001s python3-translate-commands PASS 1001s autopkgtest [21:56:21]: @@@@@@@@@@@@@@@@@@@@ summary 1001s translate-toolkit PASS 1001s python3-translate PASS 1001s python3-translate-commands PASS 1049s Creating nova instance adt-noble-ppc64el-translate-toolkit-20240320-213940-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240320.img (UUID 1c7ceb83-4842-4144-a3c9-88510cdc9534)... 1049s Creating nova instance adt-noble-ppc64el-translate-toolkit-20240320-213940-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-ppc64el-server-20240320.img (UUID 1c7ceb83-4842-4144-a3c9-88510cdc9534)...