0s autopkgtest [18:14:50]: starting date and time: 2024-03-22 18:14:50+0000 0s autopkgtest [18:14:50]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [18:14:50]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.mlitodi0/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:sphinx --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/7.2.6-6 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos02-s390x-22.secgroup --name adt-noble-s390x-translate-toolkit-20240322-181450-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-s390x-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/ 109s autopkgtest [18:16:39]: testbed dpkg architecture: s390x 110s autopkgtest [18:16:40]: testbed apt version: 2.7.12 110s autopkgtest [18:16:40]: @@@@@@@@@@@@@@@@@@@@ test bed setup 110s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 111s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 111s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 111s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3980 kB] 112s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 112s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [667 kB] 112s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B] 112s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B] 112s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B] 112s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [4045 kB] 112s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B] 112s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [46.1 kB] 112s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B] 114s Fetched 9430 kB in 3s (3172 kB/s) 114s Reading package lists... 117s Reading package lists... 118s Building dependency tree... 118s Reading state information... 118s Calculating upgrade... 118s The following packages will be upgraded: 118s cloud-init debianutils fonts-ubuntu-console python3-markupsafe 119s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 119s Need to get 719 kB of archives. 119s After this operation, 11.3 kB disk space will be freed. 119s Get:1 http://ftpmaster.internal/ubuntu noble/main s390x debianutils s390x 5.17 [90.1 kB] 119s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x fonts-ubuntu-console all 0.869+git20240321-0ubuntu1 [18.7 kB] 119s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x python3-markupsafe s390x 2.1.5-1build1 [12.8 kB] 119s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x cloud-init all 24.1.2-0ubuntu1 [597 kB] 120s Preconfiguring packages ... 120s Fetched 719 kB in 1s (749 kB/s) 120s (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 ... 52171 files and directories currently installed.) 120s Preparing to unpack .../debianutils_5.17_s390x.deb ... 120s Unpacking debianutils (5.17) over (5.16) ... 120s Setting up debianutils (5.17) ... 120s (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 ... 52171 files and directories currently installed.) 120s Preparing to unpack .../fonts-ubuntu-console_0.869+git20240321-0ubuntu1_all.deb ... 120s Unpacking fonts-ubuntu-console (0.869+git20240321-0ubuntu1) over (0.869-0ubuntu1) ... 120s Preparing to unpack .../python3-markupsafe_2.1.5-1build1_s390x.deb ... 120s Unpacking python3-markupsafe (2.1.5-1build1) over (2.1.5-1) ... 120s Preparing to unpack .../cloud-init_24.1.2-0ubuntu1_all.deb ... 120s Unpacking cloud-init (24.1.2-0ubuntu1) over (24.1.1-0ubuntu1) ... 120s Setting up fonts-ubuntu-console (0.869+git20240321-0ubuntu1) ... 120s Setting up cloud-init (24.1.2-0ubuntu1) ... 122s Setting up python3-markupsafe (2.1.5-1build1) ... 122s Processing triggers for man-db (2.12.0-3) ... 122s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 123s Reading package lists... 123s Building dependency tree... 123s Reading state information... 123s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 124s Unknown architecture, assuming PC-style ttyS0 124s sh: Attempting to set up Debian/Ubuntu apt sources automatically 124s sh: Distribution appears to be Ubuntu 125s Reading package lists... 125s Building dependency tree... 125s Reading state information... 125s eatmydata is already the newest version (131-1). 125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 125s Reading package lists... 125s Building dependency tree... 125s Reading state information... 125s dbus is already the newest version (1.14.10-4ubuntu1). 125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 125s Reading package lists... 125s Building dependency tree... 125s Reading state information... 126s rng-tools-debian is already the newest version (2.4). 126s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 126s Reading package lists... 126s Building dependency tree... 126s Reading state information... 126s The following packages will be REMOVED: 126s cloud-init* python3-configobj* python3-debconf* 126s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 126s After this operation, 3256 kB disk space will be freed. 126s (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 ... 52170 files and directories currently installed.) 126s Removing cloud-init (24.1.2-0ubuntu1) ... 127s Removing python3-configobj (5.0.8-3) ... 127s Removing python3-debconf (1.5.86) ... 127s Processing triggers for man-db (2.12.0-3) ... 127s (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 ... 51781 files and directories currently installed.) 127s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 128s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 128s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 128s invoke-rc.d: policy-rc.d denied execution of try-restart. 128s Reading package lists... 128s Building dependency tree... 128s Reading state information... 128s linux-generic is already the newest version (6.8.0-11.11+1). 128s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 129s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 129s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 129s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 130s Reading package lists... 130s Reading package lists... 131s Building dependency tree... 131s Reading state information... 131s Calculating upgrade... 131s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 131s Reading package lists... 131s Building dependency tree... 131s Reading state information... 131s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 132s autopkgtest [18:17:02]: rebooting testbed after setup commands that affected boot 147s autopkgtest [18:17:17]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Tue Feb 13 23:45:46 UTC 2024 150s autopkgtest [18:17:20]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 154s Get:1 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (dsc) [3065 B] 154s Get:2 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (tar) [1203 kB] 154s Get:3 http://ftpmaster.internal/ubuntu noble/universe translate-toolkit 3.12.2-1 (diff) [24.3 kB] 154s gpgv: Signature made Sun Feb 18 05:01:57 2024 UTC 154s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 154s gpgv: Can't check signature: No public key 154s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.12.2-1.dsc: no acceptable signature found 154s autopkgtest [18:17:24]: testing package translate-toolkit version 3.12.2-1 154s autopkgtest [18:17:24]: build not needed 157s autopkgtest [18:17:27]: test translate-toolkit: preparing testbed 159s Reading package lists... 159s Building dependency tree... 159s Reading state information... 159s Starting pkgProblemResolver with broken count: 0 159s Starting 2 pkgProblemResolver with broken count: 0 159s Done 159s The following additional packages will be installed: 159s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 159s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 159s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 159s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 159s python3-diff-match-patch python3-enchant python3-iniparse 159s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 159s python3-more-itertools python3-phply python3-ply python3-pycountry 159s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 159s python3-soupsieve python3-translate python3-vobject python3-xapian 159s subversion translate-toolkit 159s Suggested packages: 159s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 159s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 159s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 159s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 159s libapache2-mod-svn subversion-tools 159s Recommended packages: 159s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 159s python3-cssselect python3-html5lib translate-toolkit-doc 159s The following NEW packages will be installed: 159s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 159s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 159s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 159s python3-aeidon python3-bs4 python3-cheroot python3-dateutil 159s python3-diff-match-patch python3-enchant python3-iniparse 159s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 159s python3-more-itertools python3-phply python3-ply python3-pycountry 159s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson 159s python3-soupsieve python3-translate python3-vobject python3-xapian 159s subversion translate-toolkit 159s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 159s Need to get 10.5 MB/10.5 MB of archives. 159s After this operation, 44.8 MB of additional disk space will be used. 159s Get:1 /tmp/autopkgtest.AmjmNd/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [868 B] 159s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x emacsen-common all 3.0.5 [12.1 kB] 159s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x dictionaries-common all 1.29.7 [188 kB] 160s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x libgomp1 s390x 14-20240303-1ubuntu1 [151 kB] 160s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x gettext s390x 0.21-14ubuntu1 [917 kB] 161s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 161s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x libapr1 s390x 1.7.2-3 [105 kB] 161s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x libaprutil1 s390x 1.6.3-1ubuntu1 [91.9 kB] 162s Get:9 http://ftpmaster.internal/ubuntu noble/main s390x libaspell15 s390x 0.60.8.1-1 [429 kB] 162s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10 [301 kB] 162s Get:11 http://ftpmaster.internal/ubuntu noble/main s390x libenchant-2-2 s390x 2.3.3-2 [51.9 kB] 162s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x libexttextcat-data all 3.4.7-1 [235 kB] 162s Get:13 http://ftpmaster.internal/ubuntu noble/universe s390x libserf-1-1 s390x 1.3.10-1 [47.4 kB] 163s Get:14 http://ftpmaster.internal/ubuntu noble/universe s390x libutf8proc3 s390x 2.9.0-1 [70.7 kB] 163s Get:15 http://ftpmaster.internal/ubuntu noble/universe s390x libsvn1 s390x 1.14.3-1build2 [1391 kB] 164s Get:16 http://ftpmaster.internal/ubuntu noble/universe s390x libxapian30 s390x 1.4.22-1 [656 kB] 164s Get:17 http://ftpmaster.internal/ubuntu noble/main s390x libxslt1.1 s390x 1.1.35-1 [157 kB] 164s Get:18 http://ftpmaster.internal/ubuntu noble/universe s390x python3-aeidon all 1.11-2 [221 kB] 165s Get:19 http://ftpmaster.internal/ubuntu noble/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 165s Get:20 http://ftpmaster.internal/ubuntu noble/main s390x python3-bs4 all 4.12.3-1 [109 kB] 165s Get:21 http://ftpmaster.internal/ubuntu noble/main s390x python3-more-itertools all 10.2.0-1 [52.9 kB] 165s Get:22 http://ftpmaster.internal/ubuntu noble/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 165s Get:23 http://ftpmaster.internal/ubuntu noble/main s390x python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 165s Get:24 http://ftpmaster.internal/ubuntu noble/main s390x python3-dateutil all 2.8.2-3 [79.2 kB] 165s Get:25 http://ftpmaster.internal/ubuntu noble/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 165s Get:26 http://ftpmaster.internal/ubuntu noble/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 165s Get:27 http://ftpmaster.internal/ubuntu noble/universe s390x python3-levenshtein s390x 0.12.2-3 [46.0 kB] 165s Get:28 http://ftpmaster.internal/ubuntu noble/main s390x python3-lxml s390x 5.1.0-1 [2268 kB] 166s Get:29 http://ftpmaster.internal/ubuntu noble/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 167s Get:30 http://ftpmaster.internal/ubuntu noble/main s390x python3-ply all 3.11-6 [46.5 kB] 167s Get:31 http://ftpmaster.internal/ubuntu noble/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 167s Get:32 http://ftpmaster.internal/ubuntu noble/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1 [218 kB] 167s Get:33 http://ftpmaster.internal/ubuntu noble/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 167s Get:34 http://ftpmaster.internal/ubuntu noble/main s390x python3-simplejson s390x 3.19.2-1build1 [63.6 kB] 167s Get:35 http://ftpmaster.internal/ubuntu noble/universe s390x python3-translate all 3.12.2-1 [317 kB] 167s Get:36 http://ftpmaster.internal/ubuntu noble/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 167s Get:37 http://ftpmaster.internal/ubuntu noble/universe s390x python3-xapian s390x 1.4.22-1build2 [547 kB] 168s Get:38 http://ftpmaster.internal/ubuntu noble/universe s390x subversion s390x 1.14.3-1build2 [911 kB] 168s Get:39 http://ftpmaster.internal/ubuntu noble/universe s390x translate-toolkit all 3.12.2-1 [88.2 kB] 168s Get:40 http://ftpmaster.internal/ubuntu noble/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 168s Get:41 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 169s Preconfiguring packages ... 169s Fetched 10.5 MB in 9s (1140 kB/s) 169s Selecting previously unselected package emacsen-common. 169s (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 ... 51726 files and directories currently installed.) 169s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 169s Unpacking emacsen-common (3.0.5) ... 169s Selecting previously unselected package dictionaries-common. 169s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 169s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 169s Unpacking dictionaries-common (1.29.7) ... 169s Selecting previously unselected package libgomp1:s390x. 169s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_s390x.deb ... 169s Unpacking libgomp1:s390x (14-20240303-1ubuntu1) ... 169s Selecting previously unselected package gettext. 169s Preparing to unpack .../03-gettext_0.21-14ubuntu1_s390x.deb ... 169s Unpacking gettext (0.21-14ubuntu1) ... 169s Selecting previously unselected package hunspell-en-us. 169s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 169s Unpacking hunspell-en-us (1:2020.12.07-2) ... 169s Selecting previously unselected package libapr1:s390x. 169s Preparing to unpack .../05-libapr1_1.7.2-3_s390x.deb ... 169s Unpacking libapr1:s390x (1.7.2-3) ... 169s Selecting previously unselected package libaprutil1:s390x. 169s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_s390x.deb ... 169s Unpacking libaprutil1:s390x (1.6.3-1ubuntu1) ... 169s Selecting previously unselected package libaspell15:s390x. 169s Preparing to unpack .../07-libaspell15_0.60.8.1-1_s390x.deb ... 169s Unpacking libaspell15:s390x (0.60.8.1-1) ... 169s Selecting previously unselected package libhunspell-1.7-0:s390x. 169s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_s390x.deb ... 169s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10) ... 169s Selecting previously unselected package libenchant-2-2:s390x. 169s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_s390x.deb ... 169s Unpacking libenchant-2-2:s390x (2.3.3-2) ... 169s Selecting previously unselected package libexttextcat-data. 169s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 169s Unpacking libexttextcat-data (3.4.7-1) ... 169s Selecting previously unselected package libserf-1-1:s390x. 169s Preparing to unpack .../11-libserf-1-1_1.3.10-1_s390x.deb ... 169s Unpacking libserf-1-1:s390x (1.3.10-1) ... 169s Selecting previously unselected package libutf8proc3:s390x. 169s Preparing to unpack .../12-libutf8proc3_2.9.0-1_s390x.deb ... 169s Unpacking libutf8proc3:s390x (2.9.0-1) ... 169s Selecting previously unselected package libsvn1:s390x. 169s Preparing to unpack .../13-libsvn1_1.14.3-1build2_s390x.deb ... 169s Unpacking libsvn1:s390x (1.14.3-1build2) ... 169s Selecting previously unselected package libxapian30:s390x. 169s Preparing to unpack .../14-libxapian30_1.4.22-1_s390x.deb ... 169s Unpacking libxapian30:s390x (1.4.22-1) ... 169s Selecting previously unselected package libxslt1.1:s390x. 169s Preparing to unpack .../15-libxslt1.1_1.1.35-1_s390x.deb ... 169s Unpacking libxslt1.1:s390x (1.1.35-1) ... 169s Selecting previously unselected package python3-aeidon. 169s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 169s Unpacking python3-aeidon (1.11-2) ... 169s Selecting previously unselected package python3-soupsieve. 169s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 169s Unpacking python3-soupsieve (2.5-1) ... 169s Selecting previously unselected package python3-bs4. 169s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 169s Unpacking python3-bs4 (4.12.3-1) ... 169s Selecting previously unselected package python3-more-itertools. 169s Preparing to unpack .../19-python3-more-itertools_10.2.0-1_all.deb ... 169s Unpacking python3-more-itertools (10.2.0-1) ... 169s Selecting previously unselected package python3-jaraco.functools. 169s Preparing to unpack .../20-python3-jaraco.functools_4.0.0-1_all.deb ... 169s Unpacking python3-jaraco.functools (4.0.0-1) ... 169s Selecting previously unselected package python3-cheroot. 169s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-1_all.deb ... 169s Unpacking python3-cheroot (10.0.0+ds1-1) ... 169s Selecting previously unselected package python3-dateutil. 169s Preparing to unpack .../22-python3-dateutil_2.8.2-3_all.deb ... 169s Unpacking python3-dateutil (2.8.2-3) ... 169s Selecting previously unselected package python3-diff-match-patch. 169s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 169s Unpacking python3-diff-match-patch (20230430-1) ... 169s Selecting previously unselected package python3-enchant. 169s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 169s Unpacking python3-enchant (3.2.2-1) ... 169s Selecting previously unselected package python3-levenshtein. 169s Preparing to unpack .../25-python3-levenshtein_0.12.2-3_s390x.deb ... 169s Unpacking python3-levenshtein (0.12.2-3) ... 169s Selecting previously unselected package python3-lxml:s390x. 169s Preparing to unpack .../26-python3-lxml_5.1.0-1_s390x.deb ... 169s Unpacking python3-lxml:s390x (5.1.0-1) ... 169s Selecting previously unselected package python3-mistletoe. 169s Preparing to unpack .../27-python3-mistletoe_1.3.0-1_all.deb ... 169s Unpacking python3-mistletoe (1.3.0-1) ... 169s Selecting previously unselected package python3-ply. 169s Preparing to unpack .../28-python3-ply_3.11-6_all.deb ... 169s Unpacking python3-ply (3.11-6) ... 169s Selecting previously unselected package python3-phply. 169s Preparing to unpack .../29-python3-phply_1.2.6-1_all.deb ... 169s Unpacking python3-phply (1.2.6-1) ... 169s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 169s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.8-1_s390x.deb ... 169s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1) ... 169s Selecting previously unselected package python3-ruamel.yaml. 169s Preparing to unpack .../31-python3-ruamel.yaml_0.17.21-1_all.deb ... 169s Unpacking python3-ruamel.yaml (0.17.21-1) ... 170s Selecting previously unselected package python3-simplejson. 170s Preparing to unpack .../32-python3-simplejson_3.19.2-1build1_s390x.deb ... 170s Unpacking python3-simplejson (3.19.2-1build1) ... 170s Selecting previously unselected package python3-translate. 170s Preparing to unpack .../33-python3-translate_3.12.2-1_all.deb ... 170s Unpacking python3-translate (3.12.2-1) ... 170s Selecting previously unselected package python3-vobject. 170s Preparing to unpack .../34-python3-vobject_0.9.6.1-2_all.deb ... 170s Unpacking python3-vobject (0.9.6.1-2) ... 170s Selecting previously unselected package python3-xapian. 170s Preparing to unpack .../35-python3-xapian_1.4.22-1build2_s390x.deb ... 170s Unpacking python3-xapian (1.4.22-1build2) ... 170s Selecting previously unselected package subversion. 170s Preparing to unpack .../36-subversion_1.14.3-1build2_s390x.deb ... 170s Unpacking subversion (1.14.3-1build2) ... 170s Selecting previously unselected package translate-toolkit. 170s Preparing to unpack .../37-translate-toolkit_3.12.2-1_all.deb ... 170s Unpacking translate-toolkit (3.12.2-1) ... 170s Selecting previously unselected package python3-iniparse. 170s Preparing to unpack .../38-python3-iniparse_0.5-2_all.deb ... 170s Unpacking python3-iniparse (0.5-2) ... 170s Selecting previously unselected package python3-pycountry. 170s Preparing to unpack .../39-python3-pycountry_23.12.11+ds1-2_all.deb ... 170s Unpacking python3-pycountry (23.12.11+ds1-2) ... 170s Selecting previously unselected package autopkgtest-satdep. 170s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 170s Unpacking autopkgtest-satdep (0) ... 170s Setting up python3-more-itertools (10.2.0-1) ... 170s Setting up libxapian30:s390x (1.4.22-1) ... 170s Setting up python3-diff-match-patch (20230430-1) ... 170s Setting up python3-jaraco.functools (4.0.0-1) ... 170s Setting up python3-aeidon (1.11-2) ... 170s Setting up libutf8proc3:s390x (2.9.0-1) ... 170s Setting up libaspell15:s390x (0.60.8.1-1) ... 170s Setting up python3-ply (3.11-6) ... 171s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1) ... 171s Setting up libapr1:s390x (1.7.2-3) ... 171s Setting up libgomp1:s390x (14-20240303-1ubuntu1) ... 171s Setting up python3-simplejson (3.19.2-1build1) ... 171s Setting up emacsen-common (3.0.5) ... 171s Setting up python3-cheroot (10.0.0+ds1-1) ... 171s Setting up python3-pycountry (23.12.11+ds1-2) ... 171s Setting up python3-xapian (1.4.22-1build2) ... 171s Setting up python3-ruamel.yaml (0.17.21-1) ... 171s Setting up python3-mistletoe (1.3.0-1) ... 172s Setting up libexttextcat-data (3.4.7-1) ... 172s Setting up libxslt1.1:s390x (1.1.35-1) ... 172s Setting up python3-dateutil (2.8.2-3) ... 172s Setting up python3-levenshtein (0.12.2-3) ... 172s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10) ... 172s Setting up python3-soupsieve (2.5-1) ... 172s Setting up python3-iniparse (0.5-2) ... 172s Setting up libaprutil1:s390x (1.6.3-1ubuntu1) ... 172s Setting up python3-vobject (0.9.6.1-2) ... 172s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 172s patterns['name'] = '[a-zA-Z0-9\-_]+' 172s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 172s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 172s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 172s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 172s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 172s """ 172s Setting up gettext (0.21-14ubuntu1) ... 172s Setting up python3-phply (1.2.6-1) ... 173s Setting up dictionaries-common (1.29.7) ... 173s Setting up libserf-1-1:s390x (1.3.10-1) ... 173s Setting up python3-bs4 (4.12.3-1) ... 173s Setting up python3-lxml:s390x (5.1.0-1) ... 173s Setting up hunspell-en-us (1:2020.12.07-2) ... 173s Setting up libsvn1:s390x (1.14.3-1build2) ... 173s Setting up libenchant-2-2:s390x (2.3.3-2) ... 173s Setting up subversion (1.14.3-1build2) ... 173s Setting up python3-enchant (3.2.2-1) ... 173s Setting up python3-translate (3.12.2-1) ... 174s Setting up translate-toolkit (3.12.2-1) ... 174s Setting up autopkgtest-satdep (0) ... 174s Processing triggers for man-db (2.12.0-3) ... 174s Processing triggers for install-info (7.1-3) ... 175s Processing triggers for libc-bin (2.39-0ubuntu2) ... 175s Processing triggers for dictionaries-common (1.29.7) ... 177s (Reading database ... 55099 files and directories currently installed.) 177s Removing autopkgtest-satdep (0) ... 178s autopkgtest [18:17:48]: test translate-toolkit: [----------------------- 178s ========= SMOKE TEST: /usr/bin/android2po =========== 178s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 178s 178s Convert Android string files to Gettext PO localization files. See: 178s http://docs.translatehouse.org/projects/translate- 178s toolkit/en/latest/commands/android2po.html for examples and usage 178s instructions. 178s 178s Options: 178s --version show program's version number and exit 178s -h, --help show this help message and exit 178s --manpage output a manpage based on the help 178s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 178s --errorlevel=ERRORLEVEL 178s show errorlevel as: none, message, exception, 178s traceback 178s -i INPUT, --input=INPUT 178s read from INPUT in xml format 178s -x EXCLUDE, --exclude=EXCLUDE 178s exclude names matching EXCLUDE from input paths 178s -o OUTPUT, --output=OUTPUT 178s write to OUTPUT in po, pot formats 178s -t TEMPLATE, --template=TEMPLATE 178s read from TEMPLATE in xml format 178s -S, --timestamp skip conversion if the output file has newer timestamp 178s --duplicates=DUPLICATESTYLE 178s what to do with duplicate strings (identical source 178s text): merge, msgctxt (default: 'msgctxt') 179s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 179s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 179s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 179s input files [input files ...] 179s 179s positional arguments: 179s input files 179s 179s options: 179s -h, --help show this help message and exit 179s -d TMDB_FILE, --tmdb TMDB_FILE 179s translation memory database file (default: tm.db) 179s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 179s source language of translation files (default: en) 179s -t TARGET_LANG, --import-target-lang TARGET_LANG 179s target language of translation files 179s ========= SMOKE TEST: /usr/bin/buildxpi =========== 179s usage: Usage: buildxpi.py [] [ ...] 179s 179s positional arguments: 179s langs 179s 179s options: 179s -h, --help show this help message and exit 179s -L L10NBASE, --l10n-base L10NBASE 179s The directory containing the subdirectory. 179s -o OUTPUTDIR, --output-dir OUTPUTDIR 179s The directory to copy the built XPI to (default: 179s current directory). 179s -p MOZPRODUCT, --mozproduct MOZPRODUCT 179s The Mozilla product name (default: "browser"). 179s -s SRCDIR, --src SRCDIR 179s The directory containing the Mozilla l10n sources. 179s -d, --delete-dest Delete output XPI if it already exists. 179s -v, --verbose Be more noisy 179s --soft-max-version Override a fixed max version with one to cover the 179s whole cycle e.g. 24.0a1 becomes 24.0.* 179s ========= SMOKE TEST: /usr/bin/csv2po =========== 179s 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] 179s 179s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 179s See: http://docs.translatehouse.org/projects/translate- 179s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in csv format 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in po, pot formats 179s -t TEMPLATE, --template=TEMPLATE 179s read from TEMPLATE in po, pot, pot formats 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s -P, --pot output PO Templates (.pot) rather than PO files (.po) 179s --charset=CHARSET set charset to decode from csv files 179s --columnorder=COLUMNORDER 179s specify the order and position of columns 179s (location,source,target) 179s --duplicates=DUPLICATESTYLE 179s what to do with duplicate strings (identical source 179s text): merge, msgctxt (default: 'msgctxt') 179s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 179s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 179s 179s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 179s glossary file. See: http://docs.translatehouse.org/projects/translate- 179s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in csv format 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in tbx format 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s --charset=CHARSET set charset to decode from csv files 179s --columnorder=COLUMNORDER 179s specify the order and position of columns 179s (comment,source,target) 179s ========= SMOKE TEST: /usr/bin/dtd2po =========== 179s 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] 179s 179s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 179s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 179s this module You can convert back to .dtd using po2dtd.py. 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in dtd format 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in po, pot formats 179s -t TEMPLATE, --template=TEMPLATE 179s read from TEMPLATE in dtd format 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s -P, --pot output PO Templates (.pot) rather than PO files (.po) 179s --duplicates=DUPLICATESTYLE 179s what to do with duplicate strings (identical source 179s text): merge, msgctxt (default: 'msgctxt') 179s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 179s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 179s 179s Convert flat XML files to Gettext PO localization files. See: 179s http://docs.translatehouse.org/projects/translate- 179s toolkit/en/latest/commands/flatxml2po.html for examples and usage 179s instructions. 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in xml format 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in po, pot formats 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s -r ROOT, --root=ROOT name of the XML root element (default: "root") 179s -v VALUE, --value=VALUE 179s name of the XML value element (default: "str") 179s -k KEY, --key=KEY name of the XML key attribute (default: "key") 179s -n NS, --namespace=NS 179s XML namespace uri (default: None) 179s ========= SMOKE TEST: /usr/bin/get_moz_enUS =========== 179s usage: get_moz_enUS [-h] [-s SRCDIR] [-d DESTDIR] [-p MOZPRODUCT] 179s [--delete-dest] [-v] 179s 179s options: 179s -h, --help show this help message and exit 179s -s SRCDIR, --src SRCDIR 179s The directory containing the Mozilla l10n sources. 179s -d DESTDIR, --dest DESTDIR 179s The destination directory to copy the en-US locale 179s files to. 179s -p MOZPRODUCT, --mozproduct MOZPRODUCT 179s The Mozilla product name. 179s --delete-dest Delete the destination directory (if it exists). 179s -v, --verbose Be more noisy 179s ========= SMOKE TEST: /usr/bin/html2po =========== 179s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 179s 179s Convert HTML files to Gettext PO localization files. See: 179s http://docs.translatehouse.org/projects/translate- 179s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in htm, html, xhtml formats 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in po, pot formats 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s -P, --pot output PO Templates (.pot) rather than PO files (.po) 179s --keepcomments preserve html comments as translation notes in the 179s output 179s --duplicates=DUPLICATESTYLE 179s what to do with duplicate strings (identical source 179s text): merge, msgctxt (default: 'msgctxt') 179s --multifile=MULTIFILESTYLE 179s how to split po/pot files (single, toplevel or 179s onefile) 180s ========= SMOKE TEST: /usr/bin/ical2po =========== 180s /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). 180s EPOCH = datetime.datetime.utcfromtimestamp(0) 180s 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] 180s 180s Convert iCalendar files to Gettext PO localization files. See: 180s http://docs.translatehouse.org/projects/translate- 180s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 180s 180s Options: 180s --version show program's version number and exit 180s -h, --help show this help message and exit 180s --manpage output a manpage based on the help 180s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 180s --errorlevel=ERRORLEVEL 180s show errorlevel as: none, message, exception, 180s traceback 180s -i INPUT, --input=INPUT 180s read from INPUT in ics format 180s -x EXCLUDE, --exclude=EXCLUDE 180s exclude names matching EXCLUDE from input paths 180s -o OUTPUT, --output=OUTPUT 180s write to OUTPUT in po, pot formats 180s -t TEMPLATE, --template=TEMPLATE 180s read from TEMPLATE in ics format 180s -S, --timestamp skip conversion if the output file has newer timestamp 180s -P, --pot output PO Templates (.pot) rather than PO files (.po) 180s --duplicates=DUPLICATESTYLE 180s what to do with duplicate strings (identical source 180s text): merge, msgctxt (default: 'msgctxt') 180s ========= SMOKE TEST: /usr/bin/idml2po =========== 180s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 180s 180s Convert IDML files to PO localization files. 180s 180s Options: 180s --version show program's version number and exit 180s -h, --help show this help message and exit 180s --manpage output a manpage based on the help 180s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 180s --errorlevel=ERRORLEVEL 180s show errorlevel as: none, message, exception, 180s traceback 180s -i INPUT, --input=INPUT 180s read from INPUT in idml format 180s -x EXCLUDE, --exclude=EXCLUDE 180s exclude names matching EXCLUDE from input paths 180s -o OUTPUT, --output=OUTPUT 180s write to OUTPUT in po, pot formats 180s -S, --timestamp skip conversion if the output file has newer timestamp 180s ========= SMOKE TEST: /usr/bin/ini2po =========== 180s 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] 180s 180s Convert .ini files to Gettext PO localization files. See: 180s http://docs.translatehouse.org/projects/translate- 180s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 180s 180s Options: 180s --version show program's version number and exit 180s -h, --help show this help message and exit 180s --manpage output a manpage based on the help 180s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 180s --errorlevel=ERRORLEVEL 180s show errorlevel as: none, message, exception, 180s traceback 180s -i INPUT, --input=INPUT 180s read from INPUT in ini, isl, iss formats 180s -x EXCLUDE, --exclude=EXCLUDE 180s exclude names matching EXCLUDE from input paths 180s -o OUTPUT, --output=OUTPUT 180s write to OUTPUT in po, pot formats 180s -t TEMPLATE, --template=TEMPLATE 180s read from TEMPLATE in ini, isl, iss formats 180s -S, --timestamp skip conversion if the output file has newer timestamp 180s -P, --pot output PO Templates (.pot) rather than PO files (.po) 180s --duplicates=DUPLICATESTYLE 180s what to do with duplicate strings (identical source 180s text): merge, msgctxt (default: 'msgctxt') 180s ========= SMOKE TEST: /usr/bin/json2po =========== 180s 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] 180s 180s Convert JSON files to Gettext PO localization files. See: 180s http://docs.translatehouse.org/projects/translate- 180s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 180s 180s Options: 180s --version show program's version number and exit 180s -h, --help show this help message and exit 180s --manpage output a manpage based on the help 180s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 180s --errorlevel=ERRORLEVEL 180s show errorlevel as: none, message, exception, 180s traceback 180s -i INPUT, --input=INPUT 180s read from INPUT in json format 180s -x EXCLUDE, --exclude=EXCLUDE 180s exclude names matching EXCLUDE from input paths 180s -o OUTPUT, --output=OUTPUT 180s write to OUTPUT in po, pot formats 180s -t TEMPLATE, --template=TEMPLATE 180s read from TEMPLATE in json format 180s -S, --timestamp skip conversion if the output file has newer timestamp 180s -P, --pot output PO Templates (.pot) rather than PO files (.po) 180s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 180s everything) 180s --duplicates=DUPLICATESTYLE 180s what to do with duplicate strings (identical source 180s text): merge, msgctxt (default: 'msgctxt') 180s ========= SMOKE TEST: /usr/bin/md2po =========== 180s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 180s 180s Convert Markdown files to Gettext PO localization files. See: 180s http://docs.translatehouse.org/projects/translate- 180s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 180s 180s Options: 180s --version show program's version number and exit 180s -h, --help show this help message and exit 180s --manpage output a manpage based on the help 180s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 180s --errorlevel=ERRORLEVEL 180s show errorlevel as: none, message, exception, 180s traceback 180s -i INPUT, --input=INPUT 180s read from INPUT in markdown, md, text, txt formats 180s -x EXCLUDE, --exclude=EXCLUDE 180s exclude names matching EXCLUDE from input paths 180s -o OUTPUT, --output=OUTPUT 180s write to OUTPUT in po, pot formats 180s -S, --timestamp skip conversion if the output file has newer timestamp 180s -P, --pot output PO Templates (.pot) rather than PO files (.po) 180s --duplicates=DUPLICATESTYLE 180s what to do with duplicate strings (identical source 180s text): merge, msgctxt (default: 'msgctxt') 180s --multifile=MULTIFILESTYLE 180s how to split po/pot files (single, toplevel or 180s onefile) 181s ========= SMOKE TEST: /usr/bin/moz2po =========== 181s 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] 181s 181s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 181s See: http://docs.translatehouse.org/projects/translate- 181s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 181s 181s Options: 181s --version show program's version number and exit 181s -h, --help show this help message and exit 181s --manpage output a manpage based on the help 181s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 181s --errorlevel=ERRORLEVEL 181s show errorlevel as: none, message, exception, 181s traceback 181s -i INPUT, --input=INPUT 181s read from INPUT in *, dtd, inc, ini, it, js, lang, 181s manifest, properties, rdf formats 181s -x EXCLUDE, --exclude=EXCLUDE 181s exclude names matching EXCLUDE from input paths 181s -o OUTPUT, --output=OUTPUT 181s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 181s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 181s lang.pot, manifest, properties.po, properties.pot, rdf 181s formats 181s -t TEMPLATE, --template=TEMPLATE 181s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 181s manifest, properties, rdf formats 181s -S, --timestamp skip conversion if the output file has newer timestamp 181s -P, --pot output PO Templates (.pot) rather than PO files (.po) 181s --duplicates=DUPLICATESTYLE 181s what to do with duplicate strings (identical source 181s text): merge, msgctxt (default: 'msgctxt') 181s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 181s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 181s 181s Convert Mozilla .lang files to Gettext PO localization files. 181s 181s Options: 181s --version show program's version number and exit 181s -h, --help show this help message and exit 181s --manpage output a manpage based on the help 181s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 181s --errorlevel=ERRORLEVEL 181s show errorlevel as: none, message, exception, 181s traceback 181s -i INPUT, --input=INPUT 181s read from INPUT in lang format 181s -x EXCLUDE, --exclude=EXCLUDE 181s exclude names matching EXCLUDE from input paths 181s -o OUTPUT, --output=OUTPUT 181s write to OUTPUT in po, pot formats 181s -S, --timestamp skip conversion if the output file has newer timestamp 181s -P, --pot output PO Templates (.pot) rather than PO files (.po) 181s --encoding=ENCODING The encoding of the input file (default: UTF-8) 181s --duplicates=DUPLICATESTYLE 181s what to do with duplicate strings (identical source 181s text): merge, msgctxt (default: 'msgctxt') 181s ========= SMOKE TEST: /usr/bin/msghack =========== 181s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 181s This program can be used to alter .po files in ways no sane mind would think about. 181s -o result will be written to FILE 181s --invert invert a po file by switching msgid and msgstr 181s --master join any number of files in a master-formatted catalog 181s --empty empty the contents of the .po file, creating a .pot 181s --append append entries from ref.po that don't exist in file.po 181s 181s Note: It is just a replacement of msghack for backward support. 181s 181s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 181s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 181s 181s Convert OpenDocument (ODF) files to XLIFF localization files. See: 181s http://docs.translatehouse.org/projects/translate- 181s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 181s 181s Options: 181s --version show program's version number and exit 181s -h, --help show this help message and exit 181s --manpage output a manpage based on the help 181s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 181s --errorlevel=ERRORLEVEL 181s show errorlevel as: none, message, exception, 181s traceback 181s -i INPUT, --input=INPUT 181s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 181s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 181s formats 181s -x EXCLUDE, --exclude=EXCLUDE 181s exclude names matching EXCLUDE from input paths 181s -o OUTPUT, --output=OUTPUT 181s write to OUTPUT in xlf, xliff formats 181s -S, --timestamp skip conversion if the output file has newer timestamp 181s ========= SMOKE TEST: /usr/bin/oo2po =========== 181s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 181s 181s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 181s files. See: http://docs.translatehouse.org/projects/translate- 181s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 181s 181s Options: 181s --version show program's version number and exit 181s -h, --help show this help message and exit 181s --manpage output a manpage based on the help 181s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 181s --errorlevel=ERRORLEVEL 181s show errorlevel as: none, message, exception, 181s traceback 181s -i INPUT, --input=INPUT 181s read from INPUT in oo, sdf formats 181s -x EXCLUDE, --exclude=EXCLUDE 181s exclude names matching EXCLUDE from input paths 181s -o OUTPUT, --output=OUTPUT 181s write to OUTPUT in po, pot formats 181s -S, --timestamp skip conversion if the output file has newer timestamp 181s -P, --pot output PO Templates (.pot) rather than PO files (.po) 181s -l LANG, --language=LANG 181s set target language to extract from oo file (e.g. af- 181s ZA) 181s --source-language=LANG 181s set source language code (default en-US) 181s --nonrecursiveinput don't treat the input oo as a recursive store 181s --duplicates=DUPLICATESTYLE 181s what to do with duplicate strings (identical source 181s text): merge, msgctxt (default: 'msgctxt') 181s --multifile=MULTIFILESTYLE 181s how to split po/pot files (single, toplevel or 181s onefile) 181s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 181s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 181s 181s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 181s files. See: http://docs.translatehouse.org/projects/translate- 181s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 181s 181s Options: 181s --version show program's version number and exit 181s -h, --help show this help message and exit 181s --manpage output a manpage based on the help 181s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 181s --errorlevel=ERRORLEVEL 181s show errorlevel as: none, message, exception, 181s traceback 181s -i INPUT, --input=INPUT 181s read from INPUT in oo, sdf formats 181s -x EXCLUDE, --exclude=EXCLUDE 181s exclude names matching EXCLUDE from input paths 181s -o OUTPUT, --output=OUTPUT 181s write to OUTPUT in xlf, xliff formats 181s -S, --timestamp skip conversion if the output file has newer timestamp 181s -l LANG, --language=LANG 181s set target language to extract from oo file (e.g. af- 181s ZA) 181s --source-language=LANG 181s set source language code (default en-US) 181s --nonrecursiveinput don't treat the input oo as a recursive store 181s --duplicates=DUPLICATESTYLE 181s what to do with duplicate strings (identical source 181s text): merge, msgctxt (default: 'msgctxt') 181s --multifile=MULTIFILESTYLE 181s how to split po/pot files (single, toplevel or 181s onefile) 182s ========= SMOKE TEST: /usr/bin/php2po =========== 182s 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] 182s 182s Convert PHP localization files to Gettext PO localization files. See: 182s http://docs.translatehouse.org/projects/translate- 182s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 182s 182s Options: 182s --version show program's version number and exit 182s -h, --help show this help message and exit 182s --manpage output a manpage based on the help 182s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 182s --errorlevel=ERRORLEVEL 182s show errorlevel as: none, message, exception, 182s traceback 182s -i INPUT, --input=INPUT 182s read from INPUT in html, php formats 182s -x EXCLUDE, --exclude=EXCLUDE 182s exclude names matching EXCLUDE from input paths 182s -o OUTPUT, --output=OUTPUT 182s write to OUTPUT in po, pot formats 182s -t TEMPLATE, --template=TEMPLATE 182s read from TEMPLATE in html, php formats 182s -S, --timestamp skip conversion if the output file has newer timestamp 182s -P, --pot output PO Templates (.pot) rather than PO files (.po) 182s --duplicates=DUPLICATESTYLE 182s what to do with duplicate strings (identical source 182s text): merge, msgctxt (default: 'msgctxt') 182s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 182s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 182s 182s Convert PHP format .po files to Python format .po files. 182s 182s Options: 182s --version show program's version number and exit 182s -h, --help show this help message and exit 182s --manpage output a manpage based on the help 182s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 182s --errorlevel=ERRORLEVEL 182s show errorlevel as: none, message, exception, 182s traceback 182s -i INPUT, --input=INPUT 182s read from INPUT in po, pot formats 182s -x EXCLUDE, --exclude=EXCLUDE 182s exclude names matching EXCLUDE from input paths 182s -o OUTPUT, --output=OUTPUT 182s write to OUTPUT in po, pot formats 182s -S, --timestamp skip conversion if the output file has newer timestamp 182s ========= SMOKE TEST: /usr/bin/po2csv =========== 182s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 182s 182s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 182s See: http://docs.translatehouse.org/projects/translate- 182s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 182s 182s Options: 182s --version show program's version number and exit 182s -h, --help show this help message and exit 182s --manpage output a manpage based on the help 182s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 182s --errorlevel=ERRORLEVEL 182s show errorlevel as: none, message, exception, 182s traceback 182s -i INPUT, --input=INPUT 182s read from INPUT in po, pot formats 182s -x EXCLUDE, --exclude=EXCLUDE 182s exclude names matching EXCLUDE from input paths 182s -o OUTPUT, --output=OUTPUT 182s write to OUTPUT in csv format 182s -S, --timestamp skip conversion if the output file has newer timestamp 182s --columnorder=COLUMNORDER 182s specify the order and position of columns 182s (location,source,target) 182s ========= SMOKE TEST: /usr/bin/po2dtd =========== 182s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 182s 182s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 182s Conversion is either done using a template plus PO file or just using the 182s .po file. 182s 182s Options: 182s --version show program's version number and exit 182s -h, --help show this help message and exit 182s --manpage output a manpage based on the help 182s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 182s --errorlevel=ERRORLEVEL 182s show errorlevel as: none, message, exception, 182s traceback 182s -i INPUT, --input=INPUT 182s read from INPUT in po, pot formats 182s -x EXCLUDE, --exclude=EXCLUDE 182s exclude names matching EXCLUDE from input paths 182s -o OUTPUT, --output=OUTPUT 182s write to OUTPUT in dtd format 182s -t TEMPLATE, --template=TEMPLATE 182s read from TEMPLATE in dtd format 182s -S, --timestamp skip conversion if the output file has newer timestamp 182s --threshold=PERCENT only convert files where the translation completion is 182s above PERCENT 182s --fuzzy use translations marked fuzzy 182s --nofuzzy don't use translations marked fuzzy (default) 182s --removeuntranslated remove untranslated strings from output 182s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 182s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 182s 182s Convert Gettext PO localization files to flat XML files. See: 182s http://docs.translatehouse.org/projects/translate- 182s toolkit/en/latest/commands/flatxml2po.html for examples and usage 182s instructions. 182s 182s Options: 182s --version show program's version number and exit 182s -h, --help show this help message and exit 182s --manpage output a manpage based on the help 182s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 182s --errorlevel=ERRORLEVEL 182s show errorlevel as: none, message, exception, 182s traceback 182s -i INPUT, --input=INPUT 182s read from INPUT in po, pot formats 182s -x EXCLUDE, --exclude=EXCLUDE 182s exclude names matching EXCLUDE from input paths 182s -o OUTPUT, --output=OUTPUT 182s write to OUTPUT in xml format 182s -t TEMPLATE, --template=TEMPLATE 182s read from TEMPLATE in xml format 182s -S, --timestamp skip conversion if the output file has newer timestamp 182s -r ROOT, --root=ROOT name of the XML root element (default: "root") 182s -v VALUE, --value=VALUE 182s name of the XML value element (default: "str") 182s -k KEY, --key=KEY name of the XML key attribute (default: "key") 182s -n NS, --namespace=NS 182s XML namespace uri (default: None) 182s -w INDENT, --indent=INDENT 182s indent width in spaces, 0 for no indent (default: 2) 182s ========= SMOKE TEST: /usr/bin/po2html =========== 183s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 183s 183s Translate HTML files using Gettext PO localization files. See: 183s http://docs.translatehouse.org/projects/translate- 183s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 183s 183s Options: 183s --version show program's version number and exit 183s -h, --help show this help message and exit 183s --manpage output a manpage based on the help 183s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 183s --errorlevel=ERRORLEVEL 183s show errorlevel as: none, message, exception, 183s traceback 183s -i INPUT, --input=INPUT 183s read from INPUT in po, pot formats 183s -x EXCLUDE, --exclude=EXCLUDE 183s exclude names matching EXCLUDE from input paths 183s -o OUTPUT, --output=OUTPUT 183s write to OUTPUT in htm, html, xhtml formats 183s -t TEMPLATE, --template=TEMPLATE 183s read from TEMPLATE in htm, html, xhtml formats 183s -S, --timestamp skip conversion if the output file has newer timestamp 183s --threshold=PERCENT only convert files where the translation completion is 183s above PERCENT 183s --fuzzy use translations marked fuzzy 183s --nofuzzy don't use translations marked fuzzy (default) 183s ========= SMOKE TEST: /usr/bin/po2ical =========== 183s /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). 183s EPOCH = datetime.datetime.utcfromtimestamp(0) 183s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 183s 183s Convert Gettext PO localization files to iCalendar files. See: 183s http://docs.translatehouse.org/projects/translate- 183s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 183s 183s Options: 183s --version show program's version number and exit 183s -h, --help show this help message and exit 183s --manpage output a manpage based on the help 183s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 183s --errorlevel=ERRORLEVEL 183s show errorlevel as: none, message, exception, 183s traceback 183s -i INPUT, --input=INPUT 183s read from INPUT in po, pot formats 183s -x EXCLUDE, --exclude=EXCLUDE 183s exclude names matching EXCLUDE from input paths 183s -o OUTPUT, --output=OUTPUT 183s write to OUTPUT in ics format 183s -t TEMPLATE, --template=TEMPLATE 183s read from TEMPLATE in ics format 183s -S, --timestamp skip conversion if the output file has newer timestamp 183s --threshold=PERCENT only convert files where the translation completion is 183s above PERCENT 183s --fuzzy use translations marked fuzzy 183s --nofuzzy don't use translations marked fuzzy (default) 183s ========= SMOKE TEST: /usr/bin/po2idml =========== 183s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 183s 183s Takes an IDML template file and a PO file containing translations of strings 183s in the IDML template. It creates a new IDML file using the translations of the 183s PO file. 183s 183s Options: 183s --version show program's version number and exit 183s -h, --help show this help message and exit 183s --manpage output a manpage based on the help 183s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 183s --errorlevel=ERRORLEVEL 183s show errorlevel as: none, message, exception, 183s traceback 183s -i INPUT, --input=INPUT 183s read from INPUT in po, pot formats 183s -x EXCLUDE, --exclude=EXCLUDE 183s exclude names matching EXCLUDE from input paths 183s -o OUTPUT, --output=OUTPUT 183s write to OUTPUT in idml format 183s -t TEMPLATE, --template=TEMPLATE 183s read from TEMPLATE in idml format 183s -S, --timestamp skip conversion if the output file has newer timestamp 183s ========= SMOKE TEST: /usr/bin/po2ini =========== 183s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 183s 183s Convert Gettext PO localization files to .ini files. See: 183s http://docs.translatehouse.org/projects/translate- 183s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 183s 183s Options: 183s --version show program's version number and exit 183s -h, --help show this help message and exit 183s --manpage output a manpage based on the help 183s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 183s --errorlevel=ERRORLEVEL 183s show errorlevel as: none, message, exception, 183s traceback 183s -i INPUT, --input=INPUT 183s read from INPUT in po, pot formats 183s -x EXCLUDE, --exclude=EXCLUDE 183s exclude names matching EXCLUDE from input paths 183s -o OUTPUT, --output=OUTPUT 183s write to OUTPUT in ini, isl formats 183s -t TEMPLATE, --template=TEMPLATE 183s read from TEMPLATE in ini, isl formats 183s -S, --timestamp skip conversion if the output file has newer timestamp 183s --threshold=PERCENT only convert files where the translation completion is 183s above PERCENT 183s --fuzzy use translations marked fuzzy 183s --nofuzzy don't use translations marked fuzzy (default) 183s ========= SMOKE TEST: /usr/bin/po2json =========== 183s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 183s 183s Convert Gettext PO localization files to JSON files. See: 183s http://docs.translatehouse.org/projects/translate- 183s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 183s 183s Options: 183s --version show program's version number and exit 183s -h, --help show this help message and exit 183s --manpage output a manpage based on the help 183s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 183s --errorlevel=ERRORLEVEL 183s show errorlevel as: none, message, exception, 183s traceback 183s -i INPUT, --input=INPUT 183s read from INPUT in po, pot formats 183s -x EXCLUDE, --exclude=EXCLUDE 183s exclude names matching EXCLUDE from input paths 183s -o OUTPUT, --output=OUTPUT 183s write to OUTPUT in json format 183s -t TEMPLATE, --template=TEMPLATE 183s read from TEMPLATE in json format 183s -S, --timestamp skip conversion if the output file has newer timestamp 183s --threshold=PERCENT only convert files where the translation completion is 183s above PERCENT 183s --fuzzy use translations marked fuzzy 183s --nofuzzy don't use translations marked fuzzy (default) 183s --removeuntranslated remove untranslated strings from output 183s ========= SMOKE TEST: /usr/bin/po2md =========== 184s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 184s 184s Translate Markdown files using Gettext PO localization files. See: 184s http://docs.translatehouse.org/projects/translate- 184s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 184s 184s Options: 184s --version show program's version number and exit 184s -h, --help show this help message and exit 184s --manpage output a manpage based on the help 184s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 184s --errorlevel=ERRORLEVEL 184s show errorlevel as: none, message, exception, 184s traceback 184s -i INPUT, --input=INPUT 184s read from INPUT in po, pot formats 184s -x EXCLUDE, --exclude=EXCLUDE 184s exclude names matching EXCLUDE from input paths 184s -o OUTPUT, --output=OUTPUT 184s write to OUTPUT in markdown, md, text, txt formats 184s -t TEMPLATE, --template=TEMPLATE 184s read from TEMPLATE in markdown, md, text, txt formats 184s -S, --timestamp skip conversion if the output file has newer timestamp 184s -m MAXLENGTH, --maxlinelength=MAXLENGTH 184s reflow (word wrap) the output to the given maximum 184s line length. set to 0 to disable 184s --threshold=PERCENT only convert files where the translation completion is 184s above PERCENT 184s --fuzzy use translations marked fuzzy 184s --nofuzzy don't use translations marked fuzzy (default) 184s ========= SMOKE TEST: /usr/bin/po2moz =========== 184s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 184s 184s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 184s See: http://docs.translatehouse.org/projects/translate- 184s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 184s 184s Options: 184s --version show program's version number and exit 184s -h, --help show this help message and exit 184s --manpage output a manpage based on the help 184s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 184s --errorlevel=ERRORLEVEL 184s show errorlevel as: none, message, exception, 184s traceback 184s -i INPUT, --input=INPUT 184s read from INPUT in *, dtd.po, dtd.pot, inc.po, 184s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 184s lang.pot, manifest, properties.po, properties.pot, rdf 184s formats 184s -x EXCLUDE, --exclude=EXCLUDE 184s exclude names matching EXCLUDE from input paths 184s -o OUTPUT, --output=OUTPUT 184s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 184s manifest, properties, rdf formats 184s -t TEMPLATE, --template=TEMPLATE 184s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 184s manifest, properties, rdf formats 184s -S, --timestamp skip conversion if the output file has newer timestamp 184s -l LOCALE, --locale=LOCALE 184s set output locale (required as this sets the directory 184s names) 184s --threshold=PERCENT only convert files where the translation completion is 184s above PERCENT 184s --fuzzy use translations marked fuzzy 184s --nofuzzy don't use translations marked fuzzy (default) 184s --removeuntranslated remove untranslated strings from output 184s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 184s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 184s 184s Convert Gettext PO localization files to Mozilla .lang files. 184s 184s Options: 184s --version show program's version number and exit 184s -h, --help show this help message and exit 184s --manpage output a manpage based on the help 184s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 184s --errorlevel=ERRORLEVEL 184s show errorlevel as: none, message, exception, 184s traceback 184s -i INPUT, --input=INPUT 184s read from INPUT in po, pot formats 184s -x EXCLUDE, --exclude=EXCLUDE 184s exclude names matching EXCLUDE from input paths 184s -o OUTPUT, --output=OUTPUT 184s write to OUTPUT in lang format 184s -t TEMPLATE, --template=TEMPLATE 184s read from TEMPLATE in lang format 184s -S, --timestamp skip conversion if the output file has newer timestamp 184s --mark-active mark the file as active 184s --threshold=PERCENT only convert files where the translation completion is 184s above PERCENT 184s --fuzzy use translations marked fuzzy 184s --nofuzzy don't use translations marked fuzzy (default) 184s ========= SMOKE TEST: /usr/bin/po2oo =========== 184s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 184s 184s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 184s file. See: http://docs.translatehouse.org/projects/translate- 184s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 184s 184s Options: 184s --version show program's version number and exit 184s -h, --help show this help message and exit 184s --manpage output a manpage based on the help 184s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 184s --errorlevel=ERRORLEVEL 184s show errorlevel as: none, message, exception, 184s traceback 184s -i INPUT, --input=INPUT 184s read from INPUT in po, pot, xlf, xliff formats 184s -x EXCLUDE, --exclude=EXCLUDE 184s exclude names matching EXCLUDE from input paths 184s -o OUTPUT, --output=OUTPUT 184s write to OUTPUT in oo, sdf formats 184s -t TEMPLATE, --template=TEMPLATE 184s read from TEMPLATE in oo, sdf formats 184s -S, --timestamp skip conversion if the output file has newer timestamp 184s -l LANG, --language=LANG 184s set target language code (e.g. af-ZA) [required] 184s --source-language=LANG 184s set source language code (default en-US) 184s -T, --keeptimestamp don't change the timestamps of the strings 184s --nonrecursiveoutput don't treat the output oo as a recursive store 184s --nonrecursivetemplate 184s don't treat the template oo as a recursive store 184s --skipsource don't output the source language, but fallback to it 184s where needed 184s --filteraction=ACTION 184s action on pofilter failure: none (default), warn, 184s exclude-serious, exclude-all 184s --threshold=PERCENT only convert files where the translation completion is 184s above PERCENT 184s --fuzzy use translations marked fuzzy 184s --nofuzzy don't use translations marked fuzzy (default) 184s --multifile=MULTIFILESTYLE 184s how to split po/pot files (single, toplevel or 184s onefile) 185s ========= SMOKE TEST: /usr/bin/po2php =========== 185s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 185s 185s Convert Gettext PO localization files to PHP localization files. See: 185s http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in html, php formats 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in html, php formats 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s --threshold=PERCENT only convert files where the translation completion is 185s above PERCENT 185s --fuzzy use translations marked fuzzy 185s --nofuzzy don't use translations marked fuzzy (default) 185s ========= SMOKE TEST: /usr/bin/po2prop =========== 185s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 185s 185s Convert Gettext PO localization files to Java/Mozilla .properties files. 185s See: http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in lang, properties, strings formats 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in lang, properties, strings 185s formats 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s --personality=TYPE override the input file format: java, java-utf8, java- 185s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 185s strings, strings-utf8, joomla (for .properties files, 185s default: java) 185s --encoding=ENCODING override the encoding set by the personality 185s --threshold=PERCENT only convert files where the translation completion is 185s above PERCENT 185s --fuzzy use translations marked fuzzy 185s --nofuzzy don't use translations marked fuzzy (default) 185s --removeuntranslated remove untranslated strings from output 185s ========= SMOKE TEST: /usr/bin/po2rc =========== 185s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 185s 185s Convert Gettext PO localization files back to Windows Resource (.rc) files. 185s See: http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in rc format 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in rc format 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 185s -l LANG, --lang=LANG LANG entry 185s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 185s --threshold=PERCENT only convert files where the translation completion is 185s above PERCENT 185s --fuzzy use translations marked fuzzy 185s --nofuzzy don't use translations marked fuzzy (default) 185s ========= SMOKE TEST: /usr/bin/po2resx =========== 185s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 185s 185s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 185s http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in resx format 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in resx format 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s --fuzzy use translations marked fuzzy 185s --nofuzzy don't use translations marked fuzzy (default) 185s ========= SMOKE TEST: /usr/bin/po2sub =========== 185s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 185s 185s Convert Gettext PO localization files to subtitle files. See: 185s http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in ass, srt, ssa, sub formats 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in ass, srt, ssa, sub formats 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s --threshold=PERCENT only convert files where the translation completion is 185s above PERCENT 185s --fuzzy use translations marked fuzzy 185s --nofuzzy don't use translations marked fuzzy (default) 185s ========= SMOKE TEST: /usr/bin/po2symb =========== 185s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 185s 185s Convert Gettext PO localization files to Symbian translation files. See: 185s http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in r0 format 185s -t TEMPLATE, --template=TEMPLATE 185s read from TEMPLATE in 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s --duplicates=DUPLICATESTYLE 185s what to do with duplicate strings (identical source 185s text): merge, msgctxt (default: 'msgctxt') 185s ========= SMOKE TEST: /usr/bin/po2tiki =========== 185s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 185s 185s Convert Gettext PO files to TikiWiki's language.php files. See: 185s http://docs.translatehouse.org/projects/translate- 185s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 185s 185s Options: 185s --version show program's version number and exit 185s -h, --help show this help message and exit 185s --manpage output a manpage based on the help 185s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 185s --errorlevel=ERRORLEVEL 185s show errorlevel as: none, message, exception, 185s traceback 185s -i INPUT, --input=INPUT 185s read from INPUT in po, pot formats 185s -x EXCLUDE, --exclude=EXCLUDE 185s exclude names matching EXCLUDE from input paths 185s -o OUTPUT, --output=OUTPUT 185s write to OUTPUT in tiki format 185s -S, --timestamp skip conversion if the output file has newer timestamp 185s ========= SMOKE TEST: /usr/bin/po2tmx =========== 186s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 186s 186s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 186s file. See: http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in tmx format 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s -l LANG, --language=LANG 186s set target language code (e.g. af-ZA) [required] 186s --source-language=LANG 186s set source language code (default: en) 186s --comments=COMMENT set default comment import: none, source, type or 186s others (default: none) 186s ========= SMOKE TEST: /usr/bin/po2ts =========== 186s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 186s 186s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 186s http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in ts format 186s -t TEMPLATE, --template=TEMPLATE 186s read from TEMPLATE in ts format 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s -c CONTEXT, --context=CONTEXT 186s use supplied context instead of the one in the .po 186s file comment 186s ========= SMOKE TEST: /usr/bin/po2txt =========== 186s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 186s 186s Convert Gettext PO localization files to plain text (.txt) files. See: 186s http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot, xlf, xliff formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in txt format 186s -t TEMPLATE, --template=TEMPLATE 186s read from TEMPLATE in txt format 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s --encoding=ENCODING The encoding of the template file (default: UTF-8) 186s -w WRAP, --wrap=WRAP set number of columns to wrap text at 186s --threshold=PERCENT only convert files where the translation completion is 186s above PERCENT 186s --fuzzy use translations marked fuzzy 186s --nofuzzy don't use translations marked fuzzy (default) 186s ========= SMOKE TEST: /usr/bin/po2web2py =========== 186s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 186s 186s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 186s http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in py format 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s --threshold=PERCENT only convert files where the translation completion is 186s above PERCENT 186s --fuzzy use translations marked fuzzy 186s --nofuzzy don't use translations marked fuzzy (default) 186s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 186s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 186s 186s Convert Gettext PO localization files to a Wordfast translation memory file. 186s See: http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/po2wordfast.html for examples and usage 186s instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in txt format 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s -l LANG, --language=LANG 186s set target language code (e.g. af-ZA) [required] 186s --source-language=LANG 186s set source language code (default: en) 186s ========= SMOKE TEST: /usr/bin/po2xliff =========== 186s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 186s 186s Convert Gettext PO localization files to XLIFF localization files. See: 186s http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in xlf, xliff formats 186s -t TEMPLATE, --template=TEMPLATE 186s read from TEMPLATE in xlf, xliff formats 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s ========= SMOKE TEST: /usr/bin/po2yaml =========== 186s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 186s 186s Convert Gettext PO localization files to YAML files. See: 186s http://docs.translatehouse.org/projects/translate- 186s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in yaml, yml formats 186s -t TEMPLATE, --template=TEMPLATE 186s read from TEMPLATE in yaml, yml formats 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s --threshold=PERCENT only convert files where the translation completion is 186s above PERCENT 186s --fuzzy use translations marked fuzzy 186s --nofuzzy don't use translations marked fuzzy (default) 186s ========= SMOKE TEST: /usr/bin/poclean =========== 186s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 186s 186s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 186s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 186s produces the target file with only the target text in from a text version of 186s the RTF. 186s 186s Options: 186s --version show program's version number and exit 186s -h, --help show this help message and exit 186s --manpage output a manpage based on the help 186s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 186s --errorlevel=ERRORLEVEL 186s show errorlevel as: none, message, exception, 186s traceback 186s -i INPUT, --input=INPUT 186s read from INPUT in po, pot, xlf, xliff formats 186s -x EXCLUDE, --exclude=EXCLUDE 186s exclude names matching EXCLUDE from input paths 186s -o OUTPUT, --output=OUTPUT 186s write to OUTPUT in po, pot, xlf, xliff formats 186s -S, --timestamp skip conversion if the output file has newer timestamp 186s ========= SMOKE TEST: /usr/bin/pocompendium =========== 186s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 186s The first parameter is the output file, standard output if the output file is '-'. 186s Any number of directories may be specified for input files. 186s Options: 186s --invert|v Creates an inverse compendium with msgid and msgstr swapped 186s --errors|e Only ouput msg bundles that have errors 186s --correct|c Only ouput msg bundles that are correctly translated 186s --ignore-case|i Drops all strings to lowercase 186s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 186s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 186s --strip-accel-under|-su Strip all underscore (_) accelerator characters 186s ========= SMOKE TEST: /usr/bin/pocompile =========== 187s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 187s 187s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 187s Object) files. See: http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in po, pot, xlf, xliff formats 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in mo format 187s -S, --timestamp skip conversion if the output file has newer timestamp 187s --fuzzy use translations marked fuzzy 187s --nofuzzy don't use translations marked fuzzy (default) 187s ========= SMOKE TEST: /usr/bin/poconflicts =========== 187s 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] 187s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 187s 187s Conflict finder for Gettext PO localization files. See: 187s http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/poconflicts.html for examples and usage 187s instructions. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in po format 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in po format 187s -I, --ignore-case ignore case distinctions 187s -v, --invert invert the conflicts thus extracting conflicting 187s destination words 187s --accelerator=ACCELERATORS 187s ignores the given accelerator characters when matching 187s ========= SMOKE TEST: /usr/bin/pocount =========== 187s usage: pocount [-h] [--incomplete] 187s [--full | --csv | --short | --short-strings | --short-words] 187s [--no-color] 187s files [files ...] 187s 187s positional arguments: 187s files 187s 187s options: 187s -h, --help show this help message and exit 187s --incomplete skip 100% translated files. 187s 187s Output format: 187s --full (default) statistics in full, verbose format 187s --csv statistics in CSV format 187s --short same as --short-strings 187s --short-strings statistics of strings in short format - one line per file 187s --short-words statistics of words in short format - one line per file 187s --no-color show output without color 187s ========= SMOKE TEST: /usr/bin/podebug =========== 187s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 187s 187s Insert debug messages into XLIFF and Gettext PO localization files. See: 187s http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in po, pot, pot, tmx, xlf, xliff 187s formats 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in po, pot, tmx, xlf, xliff formats 187s -S, --timestamp skip conversion if the output file has newer timestamp 187s -f FORMAT, --format=FORMAT 187s specify format string 187s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 187s classified, en, flipped, unicode, xxx 187s --ignore=APPLICATION apply tagging ignore rules for the given application: 187s gtk, kde, libreoffice, mozilla, openoffice 187s --preserveplaceholders 187s attempt to exclude characters that are part of 187s placeholders when performing character-level rewrites 187s so that consuming applications can still use the 187s placeholders to generate final output 187s ========= SMOKE TEST: /usr/bin/pofilter =========== 187s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 187s 187s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 187s Snippet files are created whenever a test fails. These can be examined, 187s corrected and merged back into the originals using pomerge. See: 187s http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 187s and http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 187s tests. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in po, pot, tmx, xlf, xliff formats 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in po, pot, tmx, xlf, xliff formats 187s -l, --listfilters list filters available 187s --review include units marked for review (default) 187s --noreview exclude units marked for review 187s --fuzzy include units marked fuzzy (default) 187s --nofuzzy exclude units marked fuzzy 187s --nonotes don't add notes about the errors 187s --autocorrect output automatic corrections where possible rather 187s than describing issues 187s --language=LANG set target language code (e.g. af-ZA) [required for 187s spell check and recommended in general] 187s --openoffice use the standard checks for OpenOffice translations 187s --libreoffice use the standard checks for LibreOffice translations 187s --mozilla use the standard checks for Mozilla translations 187s --drupal use the standard checks for Drupal translations 187s --gnome use the standard checks for Gnome translations 187s --kde use the standard checks for KDE translations 187s --wx use the standard checks for wxWidgets translations 187s --excludefilter=FILTER 187s don't use FILTER when filtering 187s -t FILTER, --test=FILTER 187s only use test FILTERs specified with this option when 187s filtering 187s --notranslatefile=FILE 187s read list of untranslatable words from FILE (must not 187s be translated) 187s --musttranslatefile=FILE 187s read list of translatable words from FILE (must be 187s translated) 187s --validcharsfile=FILE 187s read list of all valid characters from FILE (must be 187s in UTF-8) 187s ========= SMOKE TEST: /usr/bin/pogrep =========== 187s 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] 187s 187s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 187s snippet files of the same type which can then be reviewed and later merged 187s using :doc:`pomerge `. See: 187s http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 187s xliff formats 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 187s xliff formats 187s --search=SEARCHPARTS searches the given parts (source, target, notes and 187s locations) 187s -I, --ignore-case ignore case distinctions 187s -e, --regexp use regular expression matching 187s -v, --invert-match select non-matching lines 187s --accelerator=ACCELERATOR 187s ignores the given accelerator when matching 187s -k, --keep-translations 187s always extract units with translations 187s ========= SMOKE TEST: /usr/bin/pomerge =========== 187s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 187s 187s Merges XLIFF and Gettext PO localization files. Snippet file produced by 187s e.g. :doc:`pogrep ` and updated by a translator can be 187s merged back into the original files. See: 187s http://docs.translatehouse.org/projects/translate- 187s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 187s 187s Options: 187s --version show program's version number and exit 187s -h, --help show this help message and exit 187s --manpage output a manpage based on the help 187s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 187s --errorlevel=ERRORLEVEL 187s show errorlevel as: none, message, exception, 187s traceback 187s -i INPUT, --input=INPUT 187s read from INPUT in po, pot, pot, xlf, xliff formats 187s -x EXCLUDE, --exclude=EXCLUDE 187s exclude names matching EXCLUDE from input paths 187s -o OUTPUT, --output=OUTPUT 187s write to OUTPUT in po, pot, pot, xlf, xliff formats 187s -t TEMPLATE, --template=TEMPLATE 187s read from TEMPLATE in po, pot, pot, xlf, xliff formats 187s -S, --timestamp skip conversion if the output file has newer timestamp 187s --mergeblanks=MERGEBLANKS 187s whether to overwrite existing translations with blank 187s translations (yes/no). Default is yes. 187s --mergefuzzy=MERGEFUZZY 187s whether to consider fuzzy translations from input 187s (yes/no). Default is yes. 187s --mergecomments=MERGECOMMENTS 187s whether to merge comments as well as translations 187s (yes/no). Default is yes. 187s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 187s Usage pomigrate2 [options] 187s 187s Options: 187s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 187s -C|--use-compendium - create and use a compendium built from the migrating files 187s -C|--use-compendium=some-compendium.po 187s - use an external compendium during the migration 187s --no-wrap - do not wrap long lines 187s --locale=lang - set locale for newly born files 187s -q|--quiet - suppress most output 187s -p|--pot2po - use pot2po instead of msgmerge to migrate 187s ========= SMOKE TEST: /usr/bin/popuretext =========== 187s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 187s ========= SMOKE TEST: /usr/bin/poreencode =========== 187s Usage: poreencode 187s eg: poreencode UTF-8 af/ 187s ========= SMOKE TEST: /usr/bin/porestructure =========== 188s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 188s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 188s 188s Restructure Gettxt PO files produced by :doc:`poconflicts 188s ` into the original directory tree for merging using 188s :doc:`pomerge `. See: 188s http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in po format 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po format 188s ========= SMOKE TEST: /usr/bin/posegment =========== 188s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 188s 188s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 188s See: http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in po, pot, tmx, xlf, xliff formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po, pot, tmx, xlf, xliff formats 188s -S, --timestamp skip conversion if the output file has newer timestamp 188s -P, --pot output PO Templates (.pot) rather than PO files (.po) 188s -l LANG, --language=LANG 188s the target language code 188s --source-language=LANG 188s the source language code (default 'en') 188s --keepspaces Disable automatic stripping of whitespace 188s --only-aligned Removes units where sentence number does not 188s correspond 188s ========= SMOKE TEST: /usr/bin/poswap =========== 188s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 188s 188s Builds a new translation file with the target of the input language as source 188s language. .. note:: Ensure that the two po files correspond 100% to the same 188s pot file before using this. To translate Kurdish (ku) through French:: 188s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 188s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 188s http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in po, pot formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po, pot formats 188s -t TEMPLATE, --template=TEMPLATE 188s read from TEMPLATE in po, pot, pot formats 188s -S, --timestamp skip conversion if the output file has newer timestamp 188s --reverse reverse the process of intermediate language 188s conversion 188s ========= SMOKE TEST: /usr/bin/pot2po =========== 188s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 188s 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] 188s 188s Convert template files (like .pot or template .xlf files) to translation 188s files, preserving existing translations. See: 188s http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 188s formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 188s xliff formats 188s -t TEMPLATE, --template=TEMPLATE 188s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 188s xliff formats 188s -S, --timestamp skip conversion if the output file has newer timestamp 188s -P, --pot output PO Templates (.pot) rather than PO files (.po) 188s --tm=TM The file to use as translation memory when fuzzy 188s matching 188s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 188s The minimum similarity for inclusion (default: 75%) 188s --nofuzzymatching Disable fuzzy matching 188s ========= SMOKE TEST: /usr/bin/poterminology =========== 188s 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] 188s input directory is searched for PO files, terminology PO file is output file 188s 188s Create a terminology file by reading a set of .po or .pot files to produce a 188s pootle-terminology.pot. See: 188s http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/poterminology.html for examples and usage 188s instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in po, pot formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po, pot formats 188s -u UPDATEFILE, --update=UPDATEFILE 188s update terminology in UPDATEFILE 188s -S STOPFILE, --stopword-list=STOPFILE 188s read stopword (term exclusion) list from STOPFILE 188s (default /usr/share/pyshared/translate/share/stoplist- 188s en) 188s -F, --fold-titlecase fold "Title Case" to lowercase (default) 188s -C, --preserve-case preserve all uppercase/lowercase 188s -I, --ignore-case make all terms lowercase 188s --accelerator=ACCELERATORS 188s ignore the given accelerator characters when matching 188s -t LENGTH, --term-words=LENGTH 188s generate terms of up to LENGTH words (default 3) 188s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 188s 1) 188s --inputs-needed=MIN omit terms appearing in less than MIN input files 188s (default 2, or 1 if only one input file) 188s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 188s different messages (default 1) 188s --substr-needed=MIN omit substring-only terms appearing in less than MIN 188s different messages (default 2) 188s --locs-needed=MIN omit terms appearing in less than MIN different 188s original source files (default 2) 188s --sort=ORDER output sort order(s): frequency, dictionary, length 188s (may repeat option, default is all in above order) 188s --source-language=LANG 188s the source language code (default 'en') 188s -v, --invert invert the source and target languages for terminology 188s ========= SMOKE TEST: /usr/bin/pretranslate =========== 188s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 188s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 188s 188s Fill localization files with suggested translations based on translation 188s memory and existing translations. See: 188s http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/pretranslate.html for examples and usage 188s instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in po, pot, pot, xlf, xliff formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po, pot, xlf, xliff formats 188s -t TEMPLATE, --template=TEMPLATE 188s read from TEMPLATE in po, pot, xlf, xliff formats 188s -S, --timestamp skip conversion if the output file has newer timestamp 188s --tm=TM The file to use as translation memory when fuzzy 188s matching 188s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 188s The minimum similarity for inclusion (default: 75%) 188s --nofuzzymatching Disable fuzzy matching 188s ========= SMOKE TEST: /usr/bin/prop2po =========== 188s 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] 188s 188s Convert Java/Mozilla .properties files to Gettext PO localization files. 188s See: http://docs.translatehouse.org/projects/translate- 188s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in lang, properties, strings formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po, pot formats 188s -t TEMPLATE, --template=TEMPLATE 188s read from TEMPLATE in lang, properties, strings 188s formats 188s -S, --timestamp skip conversion if the output file has newer timestamp 188s -P, --pot output PO Templates (.pot) rather than PO files (.po) 188s --personality=TYPE override the input file format: java, java-utf8, java- 188s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 188s strings, strings-utf8, joomla (for .properties files, 188s default: java) 188s --encoding=ENCODING override the encoding set by the personality 188s --duplicates=DUPLICATESTYLE 188s what to do with duplicate strings (identical source 188s text): merge, msgctxt (default: 'msgctxt') 188s ========= SMOKE TEST: /usr/bin/pydiff =========== 188s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 188s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 188s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 188s fromfile tofile 188s 188s positional arguments: 188s fromfile 188s tofile 188s 188s options: 188s -h, --help show this help message and exit 188s -i, --ignore-case Ignore case differences in file contents. 188s -U NUM, --unified NUM 188s Output NUM (default 3) lines of unified context 188s -r, --recursive Recursively compare any subdirectories found. 188s -N, --new-file Treat absent files as empty. 188s --unidirectional-new-file 188s Treat absent first files as empty. 188s -s, --report-identical-files 188s Report when two files are the same. 188s -x PAT, --exclude PAT 188s Exclude files that match PAT. 188s --fromcontains TEXT Only show changes where fromfile contains TEXT 188s --tocontains TEXT Only show changes where tofile contains TEXT 188s --contains TEXT Only show changes where fromfile or tofile contains 188s TEXT 188s -I, --ignore-case-contains 188s Ignore case differences when matching any of the 188s changes 188s --accelerator ACCELERATORS 188s ignores the given accelerator characters when matching 188s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 188s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 188s 188s Convert Python format .po files to PHP format .po files. 188s 188s Options: 188s --version show program's version number and exit 188s -h, --help show this help message and exit 188s --manpage output a manpage based on the help 188s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 188s --errorlevel=ERRORLEVEL 188s show errorlevel as: none, message, exception, 188s traceback 188s -i INPUT, --input=INPUT 188s read from INPUT in po, pot formats 188s -x EXCLUDE, --exclude=EXCLUDE 188s exclude names matching EXCLUDE from input paths 188s -o OUTPUT, --output=OUTPUT 188s write to OUTPUT in po, pot formats 188s -S, --timestamp skip conversion if the output file has newer timestamp 189s ========= SMOKE TEST: /usr/bin/rc2po =========== 189s 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] 189s 189s Convert Windows RC files to Gettext PO localization files. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in nls, rc formats 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -t TEMPLATE, --template=TEMPLATE 189s read from TEMPLATE in nls, rc formats 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s -P, --pot output PO Templates (.pot) rather than PO files (.po) 189s --charset=CHARSET charset to use to decode the RC files (autodetection 189s is used by default) 189s -l LANG, --lang=LANG LANG entry (default: None) 189s --sublang=SUBLANG SUBLANG entry (default: None) 189s --duplicates=DUPLICATESTYLE 189s what to do with duplicate strings (identical source 189s text): merge, msgctxt (default: 'msgctxt') 189s ========= SMOKE TEST: /usr/bin/resx2po =========== 189s 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] 189s 189s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in resx format 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -t TEMPLATE, --template=TEMPLATE 189s read from TEMPLATE in resx format 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s -P, --pot output PO Templates (.pot) rather than PO files (.po) 189s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 189s everything) 189s --duplicates=DUPLICATESTYLE 189s what to do with duplicate strings (identical source 189s text): merge, msgctxt (default: 'msgctxt') 189s ========= SMOKE TEST: /usr/bin/sub2po =========== 189s 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] 189s 189s Convert subtitle files to Gettext PO localization files. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in ass, srt, ssa, sub formats 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -t TEMPLATE, --template=TEMPLATE 189s read from TEMPLATE in ass, srt, ssa, sub formats 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s -P, --pot output PO Templates (.pot) rather than PO files (.po) 189s --duplicates=DUPLICATESTYLE 189s what to do with duplicate strings (identical source 189s text): merge, msgctxt (default: 'msgctxt') 189s ========= SMOKE TEST: /usr/bin/symb2po =========== 189s 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] 189s 189s Convert Symbian localisation files to Gettext PO localization files. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in r01 format 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -t TEMPLATE, --template=TEMPLATE 189s read from TEMPLATE in 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s -P, --pot output PO Templates (.pot) rather than PO files (.po) 189s --duplicates=DUPLICATESTYLE 189s what to do with duplicate strings (identical source 189s text): merge, msgctxt (default: 'msgctxt') 189s ========= SMOKE TEST: /usr/bin/tbx2po =========== 189s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 189s 189s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in tbx format 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s ========= SMOKE TEST: /usr/bin/tiki2po =========== 189s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 189s 189s Convert TikiWiki's language.php files to Gettext PO localization files. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in php format 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s --include-unused Include strings in the unused section 189s ========= SMOKE TEST: /usr/bin/tmserver =========== 189s WARNING:root:Python-Levenshtein not found. Continuing with built-in (slower) fuzzy matching. 189s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 189s [-s SOURCE_LANG] [-b BIND] [-p PORT] 189s [--max-candidates MAX_CANDIDATES] 189s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 189s [--debug] 189s 189s options: 189s -h, --help show this help message and exit 189s -d TMDBFILE, --tmdb TMDBFILE 189s translation memory database file 189s -f TMFILES, --import-translation-file TMFILES 189s translation file to import into the database 189s -t TARGET_LANG, --import-target-lang TARGET_LANG 189s target language of translation files 189s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 189s source language of translation files 189s -b BIND, --bind BIND address to bind server to (default: localhost) 189s -p PORT, --port PORT port to listen on (default: 8888) 189s --max-candidates MAX_CANDIDATES 189s Maximum number of candidates 189s --min-similarity MIN_SIMILARITY 189s minimum similarity 189s --max-length MAX_LENGTH 189s Maxmimum string length 189s --debug enable debugging features 189s ========= SMOKE TEST: /usr/bin/ts2po =========== 190s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 190s 190s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in ts format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/txt2po =========== 190s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 190s 190s Convert plain text (.txt) files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in *, txt formats 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --encoding=ENCODING The encoding of the input file (default: UTF-8) 190s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 190s mediawiki 190s --no-segmentation Don't segment the file, treat it like a single message 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/web2py2po =========== 190s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 190s 190s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in py format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 190s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 190s 190s Convert XLIFF translation files to OpenDocument (ODF) files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in xlf format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 190s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 190s -t TEMPLATE, --template=TEMPLATE 190s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 190s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 190s formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 190s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 190s 190s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 190s file. See: http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in po, pot, xlf, xliff formats 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in oo, sdf formats 190s -t TEMPLATE, --template=TEMPLATE 190s read from TEMPLATE in oo, sdf formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -l LANG, --language=LANG 190s set target language code (e.g. af-ZA) [required] 190s --source-language=LANG 190s set source language code (default en-US) 190s -T, --keeptimestamp don't change the timestamps of the strings 190s --nonrecursiveoutput don't treat the output oo as a recursive store 190s --nonrecursivetemplate 190s don't treat the template oo as a recursive store 190s --skipsource don't output the source language, but fallback to it 190s where needed 190s --filteraction=ACTION 190s action on pofilter failure: none (default), warn, 190s exclude-serious, exclude-all 190s --fuzzy use translations marked fuzzy 190s --nofuzzy don't use translations marked fuzzy (default) 190s --multifile=MULTIFILESTYLE 190s how to split po/pot files (single, toplevel or 190s onefile) 190s ========= SMOKE TEST: /usr/bin/xliff2po =========== 190s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 190s 190s Convert XLIFF localization files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in xlf, xliff formats 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/yaml2po =========== 190s 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] 190s 190s Convert YAML files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in yaml, yml formats 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -t TEMPLATE, --template=TEMPLATE 190s read from TEMPLATE in yaml, yml formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 191s autopkgtest [18:18:01]: test translate-toolkit: -----------------------] 192s autopkgtest [18:18:02]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 192s translate-toolkit PASS 192s autopkgtest [18:18:02]: test python3-translate: preparing testbed 389s autopkgtest [18:21:19]: testbed dpkg architecture: s390x 389s autopkgtest [18:21:19]: testbed apt version: 2.7.12 389s autopkgtest [18:21:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 391s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 391s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [498 kB] 391s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 391s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [58.8 kB] 391s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3980 kB] 393s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [667 kB] 393s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B] 393s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B] 393s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B] 393s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [4045 kB] 393s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B] 393s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [46.1 kB] 393s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B] 395s Fetched 9430 kB in 4s (2407 kB/s) 395s Reading package lists... 398s Reading package lists... 398s Building dependency tree... 398s Reading state information... 398s Calculating upgrade... 398s The following packages will be upgraded: 398s cloud-init debianutils fonts-ubuntu-console python3-markupsafe 399s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 399s Need to get 719 kB of archives. 399s After this operation, 11.3 kB disk space will be freed. 399s Get:1 http://ftpmaster.internal/ubuntu noble/main s390x debianutils s390x 5.17 [90.1 kB] 399s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x fonts-ubuntu-console all 0.869+git20240321-0ubuntu1 [18.7 kB] 399s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x python3-markupsafe s390x 2.1.5-1build1 [12.8 kB] 399s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x cloud-init all 24.1.2-0ubuntu1 [597 kB] 400s Preconfiguring packages ... 400s Fetched 719 kB in 1s (1052 kB/s) 400s (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 ... 52171 files and directories currently installed.) 400s Preparing to unpack .../debianutils_5.17_s390x.deb ... 400s Unpacking debianutils (5.17) over (5.16) ... 400s Setting up debianutils (5.17) ... 400s (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 ... 52171 files and directories currently installed.) 400s Preparing to unpack .../fonts-ubuntu-console_0.869+git20240321-0ubuntu1_all.deb ... 400s Unpacking fonts-ubuntu-console (0.869+git20240321-0ubuntu1) over (0.869-0ubuntu1) ... 400s Preparing to unpack .../python3-markupsafe_2.1.5-1build1_s390x.deb ... 400s Unpacking python3-markupsafe (2.1.5-1build1) over (2.1.5-1) ... 400s Preparing to unpack .../cloud-init_24.1.2-0ubuntu1_all.deb ... 400s Unpacking cloud-init (24.1.2-0ubuntu1) over (24.1.1-0ubuntu1) ... 400s Setting up fonts-ubuntu-console (0.869+git20240321-0ubuntu1) ... 400s Setting up cloud-init (24.1.2-0ubuntu1) ... 401s Setting up python3-markupsafe (2.1.5-1build1) ... 402s Processing triggers for man-db (2.12.0-3) ... 402s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 403s Reading package lists... 403s Building dependency tree... 403s Reading state information... 403s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 403s Unknown architecture, assuming PC-style ttyS0 403s sh: Attempting to set up Debian/Ubuntu apt sources automatically 403s sh: Distribution appears to be Ubuntu 404s Reading package lists... 404s Building dependency tree... 404s Reading state information... 405s eatmydata is already the newest version (131-1). 405s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 405s Reading package lists... 405s Building dependency tree... 405s Reading state information... 405s dbus is already the newest version (1.14.10-4ubuntu1). 405s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 405s Reading package lists... 405s Building dependency tree... 405s Reading state information... 405s rng-tools-debian is already the newest version (2.4). 405s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 405s Reading package lists... 406s Building dependency tree... 406s Reading state information... 406s The following packages will be REMOVED: 406s cloud-init* python3-configobj* python3-debconf* 406s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 406s After this operation, 3256 kB disk space will be freed. 406s (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 ... 52170 files and directories currently installed.) 406s Removing cloud-init (24.1.2-0ubuntu1) ... 406s Removing python3-configobj (5.0.8-3) ... 406s Removing python3-debconf (1.5.86) ... 407s Processing triggers for man-db (2.12.0-3) ... 407s (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 ... 51781 files and directories currently installed.) 407s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 407s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 407s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 407s invoke-rc.d: policy-rc.d denied execution of try-restart. 408s Reading package lists... 408s Building dependency tree... 408s Reading state information... 408s linux-generic is already the newest version (6.8.0-11.11+1). 408s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 409s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 409s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 409s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 410s Reading package lists... 410s Reading package lists... 411s Building dependency tree... 411s Reading state information... 411s Calculating upgrade... 411s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 411s Reading package lists... 411s Building dependency tree... 411s Reading state information... 411s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 412s autopkgtest [18:21:42]: rebooting testbed after setup commands that affected boot 541s Reading package lists... 541s Building dependency tree... 541s Reading state information... 541s Starting pkgProblemResolver with broken count: 0 541s Starting 2 pkgProblemResolver with broken count: 0 541s Done 542s The following additional packages will be installed: 542s dictionaries-common emacsen-common gettext hunspell-en-us libapr1 542s libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 542s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 542s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 542s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 542s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 542s python3-more-itertools python3-packaging python3-phply python3-pluggy 542s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 542s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 542s python3-translate python3-vobject python3-xapian subversion 542s Suggested packages: 542s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 542s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 542s aspell libenchant-2-voikko xapian-tools python-lxml-doc python-ply-doc 542s python3-subversion translate-toolkit-doc xapian-doc db5.3-util 542s libapache2-mod-svn subversion-tools 542s Recommended packages: 542s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 542s python3-cssselect python3-html5lib 542s The following NEW packages will be installed: 542s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 542s libapr1 libaprutil1 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 542s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 542s python3-aeidon python3-all python3-bs4 python3-cheroot python3-dateutil 542s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 542s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 542s python3-more-itertools python3-packaging python3-phply python3-pluggy 542s python3-ply python3-pycountry python3-pytest python3-ruamel.yaml 542s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 542s python3-translate python3-vobject python3-xapian subversion 542s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 542s Need to get 10.8 MB/10.8 MB of archives. 542s After this operation, 46.2 MB of additional disk space will be used. 542s Get:1 /tmp/autopkgtest.AmjmNd/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [876 B] 542s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x emacsen-common all 3.0.5 [12.1 kB] 542s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x dictionaries-common all 1.29.7 [188 kB] 542s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x libgomp1 s390x 14-20240303-1ubuntu1 [151 kB] 542s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x gettext s390x 0.21-14ubuntu1 [917 kB] 543s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 543s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x libapr1 s390x 1.7.2-3 [105 kB] 543s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x libaprutil1 s390x 1.6.3-1ubuntu1 [91.9 kB] 543s Get:9 http://ftpmaster.internal/ubuntu noble/main s390x libaspell15 s390x 0.60.8.1-1 [429 kB] 543s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10 [301 kB] 543s Get:11 http://ftpmaster.internal/ubuntu noble/main s390x libenchant-2-2 s390x 2.3.3-2 [51.9 kB] 543s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x libexttextcat-data all 3.4.7-1 [235 kB] 543s Get:13 http://ftpmaster.internal/ubuntu noble/universe s390x libserf-1-1 s390x 1.3.10-1 [47.4 kB] 543s Get:14 http://ftpmaster.internal/ubuntu noble/universe s390x libutf8proc3 s390x 2.9.0-1 [70.7 kB] 543s Get:15 http://ftpmaster.internal/ubuntu noble/universe s390x libsvn1 s390x 1.14.3-1build2 [1391 kB] 543s Get:16 http://ftpmaster.internal/ubuntu noble/universe s390x libxapian30 s390x 1.4.22-1 [656 kB] 543s Get:17 http://ftpmaster.internal/ubuntu noble/main s390x libxslt1.1 s390x 1.1.35-1 [157 kB] 543s Get:18 http://ftpmaster.internal/ubuntu noble/universe s390x python3-aeidon all 1.11-2 [221 kB] 543s Get:19 http://ftpmaster.internal/ubuntu noble/main s390x python3-all s390x 3.12.1-0ubuntu2 [908 B] 543s Get:20 http://ftpmaster.internal/ubuntu noble/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 543s Get:21 http://ftpmaster.internal/ubuntu noble/main s390x python3-bs4 all 4.12.3-1 [109 kB] 543s Get:22 http://ftpmaster.internal/ubuntu noble/main s390x python3-more-itertools all 10.2.0-1 [52.9 kB] 543s Get:23 http://ftpmaster.internal/ubuntu noble/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 543s Get:24 http://ftpmaster.internal/ubuntu noble/main s390x python3-cheroot all 10.0.0+ds1-1 [73.0 kB] 544s Get:25 http://ftpmaster.internal/ubuntu noble/main s390x python3-dateutil all 2.8.2-3 [79.2 kB] 544s Get:26 http://ftpmaster.internal/ubuntu noble/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 544s Get:27 http://ftpmaster.internal/ubuntu noble/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 544s Get:28 http://ftpmaster.internal/ubuntu noble/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 544s Get:29 http://ftpmaster.internal/ubuntu noble/universe s390x python3-levenshtein s390x 0.12.2-3 [46.0 kB] 544s Get:30 http://ftpmaster.internal/ubuntu noble/main s390x python3-lxml s390x 5.1.0-1 [2268 kB] 544s Get:31 http://ftpmaster.internal/ubuntu noble/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 544s Get:32 http://ftpmaster.internal/ubuntu noble/main s390x python3-packaging all 23.2-1 [40.6 kB] 544s Get:33 http://ftpmaster.internal/ubuntu noble/main s390x python3-ply all 3.11-6 [46.5 kB] 544s Get:34 http://ftpmaster.internal/ubuntu noble/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 544s Get:35 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pluggy all 1.4.0-1 [20.4 kB] 544s Get:36 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest all 7.4.4-1 [305 kB] 544s Get:37 http://ftpmaster.internal/ubuntu noble/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1 [218 kB] 544s Get:38 http://ftpmaster.internal/ubuntu noble/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 544s Get:39 http://ftpmaster.internal/ubuntu noble/main s390x python3-simplejson s390x 3.19.2-1build1 [63.6 kB] 544s Get:40 http://ftpmaster.internal/ubuntu noble/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 544s Get:41 http://ftpmaster.internal/ubuntu noble/universe s390x python3-translate all 3.12.2-1 [317 kB] 544s Get:42 http://ftpmaster.internal/ubuntu noble/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 544s Get:43 http://ftpmaster.internal/ubuntu noble/universe s390x python3-xapian s390x 1.4.22-1build2 [547 kB] 544s Get:44 http://ftpmaster.internal/ubuntu noble/universe s390x subversion s390x 1.14.3-1build2 [911 kB] 544s Get:45 http://ftpmaster.internal/ubuntu noble/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 544s Get:46 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pycountry all 23.12.11+ds1-2 [29.9 kB] 545s Preconfiguring packages ... 545s Fetched 10.8 MB in 3s (4220 kB/s) 545s Selecting previously unselected package emacsen-common. 545s (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 ... 51726 files and directories currently installed.) 545s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 545s Unpacking emacsen-common (3.0.5) ... 545s Selecting previously unselected package dictionaries-common. 545s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 545s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 545s Unpacking dictionaries-common (1.29.7) ... 545s Selecting previously unselected package libgomp1:s390x. 545s Preparing to unpack .../02-libgomp1_14-20240303-1ubuntu1_s390x.deb ... 545s Unpacking libgomp1:s390x (14-20240303-1ubuntu1) ... 545s Selecting previously unselected package gettext. 545s Preparing to unpack .../03-gettext_0.21-14ubuntu1_s390x.deb ... 545s Unpacking gettext (0.21-14ubuntu1) ... 545s Selecting previously unselected package hunspell-en-us. 545s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 545s Unpacking hunspell-en-us (1:2020.12.07-2) ... 545s Selecting previously unselected package libapr1:s390x. 545s Preparing to unpack .../05-libapr1_1.7.2-3_s390x.deb ... 545s Unpacking libapr1:s390x (1.7.2-3) ... 545s Selecting previously unselected package libaprutil1:s390x. 545s Preparing to unpack .../06-libaprutil1_1.6.3-1ubuntu1_s390x.deb ... 545s Unpacking libaprutil1:s390x (1.6.3-1ubuntu1) ... 545s Selecting previously unselected package libaspell15:s390x. 545s Preparing to unpack .../07-libaspell15_0.60.8.1-1_s390x.deb ... 545s Unpacking libaspell15:s390x (0.60.8.1-1) ... 545s Selecting previously unselected package libhunspell-1.7-0:s390x. 545s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10_s390x.deb ... 545s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10) ... 545s Selecting previously unselected package libenchant-2-2:s390x. 545s Preparing to unpack .../09-libenchant-2-2_2.3.3-2_s390x.deb ... 545s Unpacking libenchant-2-2:s390x (2.3.3-2) ... 545s Selecting previously unselected package libexttextcat-data. 545s Preparing to unpack .../10-libexttextcat-data_3.4.7-1_all.deb ... 545s Unpacking libexttextcat-data (3.4.7-1) ... 545s Selecting previously unselected package libserf-1-1:s390x. 545s Preparing to unpack .../11-libserf-1-1_1.3.10-1_s390x.deb ... 545s Unpacking libserf-1-1:s390x (1.3.10-1) ... 545s Selecting previously unselected package libutf8proc3:s390x. 545s Preparing to unpack .../12-libutf8proc3_2.9.0-1_s390x.deb ... 545s Unpacking libutf8proc3:s390x (2.9.0-1) ... 545s Selecting previously unselected package libsvn1:s390x. 545s Preparing to unpack .../13-libsvn1_1.14.3-1build2_s390x.deb ... 545s Unpacking libsvn1:s390x (1.14.3-1build2) ... 545s Selecting previously unselected package libxapian30:s390x. 545s Preparing to unpack .../14-libxapian30_1.4.22-1_s390x.deb ... 545s Unpacking libxapian30:s390x (1.4.22-1) ... 545s Selecting previously unselected package libxslt1.1:s390x. 545s Preparing to unpack .../15-libxslt1.1_1.1.35-1_s390x.deb ... 545s Unpacking libxslt1.1:s390x (1.1.35-1) ... 545s Selecting previously unselected package python3-aeidon. 545s Preparing to unpack .../16-python3-aeidon_1.11-2_all.deb ... 545s Unpacking python3-aeidon (1.11-2) ... 545s Selecting previously unselected package python3-all. 545s Preparing to unpack .../17-python3-all_3.12.1-0ubuntu2_s390x.deb ... 545s Unpacking python3-all (3.12.1-0ubuntu2) ... 545s Selecting previously unselected package python3-soupsieve. 545s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 545s Unpacking python3-soupsieve (2.5-1) ... 545s Selecting previously unselected package python3-bs4. 545s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 545s Unpacking python3-bs4 (4.12.3-1) ... 545s Selecting previously unselected package python3-more-itertools. 545s Preparing to unpack .../20-python3-more-itertools_10.2.0-1_all.deb ... 545s Unpacking python3-more-itertools (10.2.0-1) ... 545s Selecting previously unselected package python3-jaraco.functools. 545s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 545s Unpacking python3-jaraco.functools (4.0.0-1) ... 545s Selecting previously unselected package python3-cheroot. 545s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-1_all.deb ... 545s Unpacking python3-cheroot (10.0.0+ds1-1) ... 545s Selecting previously unselected package python3-dateutil. 545s Preparing to unpack .../23-python3-dateutil_2.8.2-3_all.deb ... 545s Unpacking python3-dateutil (2.8.2-3) ... 545s Selecting previously unselected package python3-diff-match-patch. 545s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 545s Unpacking python3-diff-match-patch (20230430-1) ... 545s Selecting previously unselected package python3-enchant. 545s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 545s Unpacking python3-enchant (3.2.2-1) ... 545s Selecting previously unselected package python3-iniconfig. 545s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 545s Unpacking python3-iniconfig (1.1.1-2) ... 545s Selecting previously unselected package python3-levenshtein. 545s Preparing to unpack .../27-python3-levenshtein_0.12.2-3_s390x.deb ... 545s Unpacking python3-levenshtein (0.12.2-3) ... 545s Selecting previously unselected package python3-lxml:s390x. 545s Preparing to unpack .../28-python3-lxml_5.1.0-1_s390x.deb ... 545s Unpacking python3-lxml:s390x (5.1.0-1) ... 545s Selecting previously unselected package python3-mistletoe. 545s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 545s Unpacking python3-mistletoe (1.3.0-1) ... 545s Selecting previously unselected package python3-packaging. 545s Preparing to unpack .../30-python3-packaging_23.2-1_all.deb ... 545s Unpacking python3-packaging (23.2-1) ... 546s Selecting previously unselected package python3-ply. 546s Preparing to unpack .../31-python3-ply_3.11-6_all.deb ... 546s Unpacking python3-ply (3.11-6) ... 546s Selecting previously unselected package python3-phply. 546s Preparing to unpack .../32-python3-phply_1.2.6-1_all.deb ... 546s Unpacking python3-phply (1.2.6-1) ... 546s Selecting previously unselected package python3-pluggy. 546s Preparing to unpack .../33-python3-pluggy_1.4.0-1_all.deb ... 546s Unpacking python3-pluggy (1.4.0-1) ... 546s Selecting previously unselected package python3-pytest. 546s Preparing to unpack .../34-python3-pytest_7.4.4-1_all.deb ... 546s Unpacking python3-pytest (7.4.4-1) ... 546s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 546s Preparing to unpack .../35-python3-ruamel.yaml.clib_0.2.8-1_s390x.deb ... 546s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1) ... 546s Selecting previously unselected package python3-ruamel.yaml. 546s Preparing to unpack .../36-python3-ruamel.yaml_0.17.21-1_all.deb ... 546s Unpacking python3-ruamel.yaml (0.17.21-1) ... 546s Selecting previously unselected package python3-simplejson. 546s Preparing to unpack .../37-python3-simplejson_3.19.2-1build1_s390x.deb ... 546s Unpacking python3-simplejson (3.19.2-1build1) ... 546s Selecting previously unselected package python3-syrupy. 546s Preparing to unpack .../38-python3-syrupy_4.6.1-1_all.deb ... 546s Unpacking python3-syrupy (4.6.1-1) ... 546s Selecting previously unselected package python3-translate. 546s Preparing to unpack .../39-python3-translate_3.12.2-1_all.deb ... 546s Unpacking python3-translate (3.12.2-1) ... 546s Selecting previously unselected package python3-vobject. 546s Preparing to unpack .../40-python3-vobject_0.9.6.1-2_all.deb ... 546s Unpacking python3-vobject (0.9.6.1-2) ... 546s Selecting previously unselected package python3-xapian. 546s Preparing to unpack .../41-python3-xapian_1.4.22-1build2_s390x.deb ... 546s Unpacking python3-xapian (1.4.22-1build2) ... 546s Selecting previously unselected package subversion. 546s Preparing to unpack .../42-subversion_1.14.3-1build2_s390x.deb ... 546s Unpacking subversion (1.14.3-1build2) ... 546s Selecting previously unselected package python3-iniparse. 546s Preparing to unpack .../43-python3-iniparse_0.5-2_all.deb ... 546s Unpacking python3-iniparse (0.5-2) ... 546s Selecting previously unselected package python3-pycountry. 546s Preparing to unpack .../44-python3-pycountry_23.12.11+ds1-2_all.deb ... 546s Unpacking python3-pycountry (23.12.11+ds1-2) ... 546s Selecting previously unselected package autopkgtest-satdep. 546s Preparing to unpack .../45-2-autopkgtest-satdep.deb ... 546s Unpacking autopkgtest-satdep (0) ... 546s Setting up python3-more-itertools (10.2.0-1) ... 546s Setting up python3-iniconfig (1.1.1-2) ... 546s Setting up libxapian30:s390x (1.4.22-1) ... 546s Setting up python3-diff-match-patch (20230430-1) ... 546s Setting up python3-jaraco.functools (4.0.0-1) ... 546s Setting up python3-aeidon (1.11-2) ... 547s Setting up libutf8proc3:s390x (2.9.0-1) ... 547s Setting up libaspell15:s390x (0.60.8.1-1) ... 547s Setting up python3-ply (3.11-6) ... 547s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1) ... 547s Setting up libapr1:s390x (1.7.2-3) ... 547s Setting up python3-all (3.12.1-0ubuntu2) ... 547s Setting up libgomp1:s390x (14-20240303-1ubuntu1) ... 547s Setting up python3-simplejson (3.19.2-1build1) ... 547s Setting up python3-packaging (23.2-1) ... 547s Setting up emacsen-common (3.0.5) ... 547s Setting up python3-cheroot (10.0.0+ds1-1) ... 547s Setting up python3-pycountry (23.12.11+ds1-2) ... 547s Setting up python3-xapian (1.4.22-1build2) ... 548s Setting up python3-pluggy (1.4.0-1) ... 548s Setting up python3-ruamel.yaml (0.17.21-1) ... 548s Setting up python3-mistletoe (1.3.0-1) ... 548s Setting up libexttextcat-data (3.4.7-1) ... 548s Setting up libxslt1.1:s390x (1.1.35-1) ... 548s Setting up python3-dateutil (2.8.2-3) ... 548s Setting up python3-levenshtein (0.12.2-3) ... 548s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10) ... 548s Setting up python3-soupsieve (2.5-1) ... 548s Setting up python3-iniparse (0.5-2) ... 548s Setting up libaprutil1:s390x (1.6.3-1ubuntu1) ... 548s Setting up python3-vobject (0.9.6.1-2) ... 549s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 549s patterns['name'] = '[a-zA-Z0-9\-_]+' 549s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 549s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 549s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 549s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 549s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 549s """ 549s Setting up gettext (0.21-14ubuntu1) ... 549s Setting up python3-phply (1.2.6-1) ... 549s Setting up dictionaries-common (1.29.7) ... 549s Setting up python3-pytest (7.4.4-1) ... 550s Setting up python3-syrupy (4.6.1-1) ... 550s Setting up libserf-1-1:s390x (1.3.10-1) ... 550s Setting up python3-bs4 (4.12.3-1) ... 550s Setting up python3-lxml:s390x (5.1.0-1) ... 550s Setting up hunspell-en-us (1:2020.12.07-2) ... 550s Setting up libsvn1:s390x (1.14.3-1build2) ... 550s Setting up libenchant-2-2:s390x (2.3.3-2) ... 550s Setting up subversion (1.14.3-1build2) ... 550s Setting up python3-enchant (3.2.2-1) ... 550s Setting up python3-translate (3.12.2-1) ... 551s Setting up autopkgtest-satdep (0) ... 551s Processing triggers for man-db (2.12.0-3) ... 551s Processing triggers for install-info (7.1-3) ... 551s Processing triggers for libc-bin (2.39-0ubuntu2) ... 551s Processing triggers for dictionaries-common (1.29.7) ... 555s (Reading database ... 55125 files and directories currently installed.) 555s Removing autopkgtest-satdep (0) ... 562s autopkgtest [18:24:12]: test python3-translate: [----------------------- 562s ============================= test session starts ============================== 562s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 562s cachedir: .pytest_cache 562s rootdir: /tmp/autopkgtest.AmjmNd/autopkgtest_tmp 562s plugins: syrupy-4.6.1 567s collecting ... collected 3313 items / 2 skipped 567s 567s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 567s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 567s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 567s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 567s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 567s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 567s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 567s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 567s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 567s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 568s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 568s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 568s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 568s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 568s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 568s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 568s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 568s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 568s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 568s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 568s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 568s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 568s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 568s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 568s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 568s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 568s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 568s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 568s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 568s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 568s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 568s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 568s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 568s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 569s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 569s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 569s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 569s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 569s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 569s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 569s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 569s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 569s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 569s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 569s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 569s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 569s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 569s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 569s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 569s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 569s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 569s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 569s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 569s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 569s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 570s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 570s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 570s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 570s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 570s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 570s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 570s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 570s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 570s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 570s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 570s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 570s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 570s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 570s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 570s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 570s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 570s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 570s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 570s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 570s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 570s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 570s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 570s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 570s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 571s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 571s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 571s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 571s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 571s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 571s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 571s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 571s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 571s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 571s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 571s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 571s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 571s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 571s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 571s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 571s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 571s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 571s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 571s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 571s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 571s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 571s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 571s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 571s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 571s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 571s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 571s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 571s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 572s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 572s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 572s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 572s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 572s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 572s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 572s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 572s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 572s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 572s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 572s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 572s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 572s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 572s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 572s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 572s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 572s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 572s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 572s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 572s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 572s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 572s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 572s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 572s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 572s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 572s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 572s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 572s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 572s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 572s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 572s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 572s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 572s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 572s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 572s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 572s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 572s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 572s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 572s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 572s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 572s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 572s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 572s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 572s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 572s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 572s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 572s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 572s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 572s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 572s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 572s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 572s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 572s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 572s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 572s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 572s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 572s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 572s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 572s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 572s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 573s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 573s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 573s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 573s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 573s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 573s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 573s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 573s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 573s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 573s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 573s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 573s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 573s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 573s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 573s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 573s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 573s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 573s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 573s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 573s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 573s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 573s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 573s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 573s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 573s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 573s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 573s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 58%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 573s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 573s 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%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 573s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 573s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 573s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 573s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 573s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 573s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 573s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 573s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 573s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 573s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 573s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 573s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 573s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 574s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 574s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 574s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 574s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 574s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 574s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 574s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 574s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 575s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 575s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 575s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 575s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 575s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 575s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 575s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 575s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 575s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 575s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 575s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 575s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 575s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 575s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 575s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 576s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 576s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 576s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 576s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 576s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 576s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 576s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 576s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 576s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 576s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 576s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 576s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 576s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 576s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 576s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 576s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 576s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 576s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 576s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 576s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 576s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 576s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 576s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 577s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 577s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 577s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 577s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 578s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 578s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 578s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 578s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 578s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 578s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 578s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 578s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 578s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 578s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 578s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 578s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 578s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 578s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 578s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 578s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 578s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 578s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 94%] 578s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 578s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 578s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 578s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 578s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 578s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 578s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 578s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 578s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 578s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 578s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 578s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 578s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 578s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 578s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 578s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 578s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 578s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 578s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 578s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 579s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 579s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 579s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 579s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 579s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 579s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 579s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 579s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 579s 579s =============================== warnings summary =============================== 579s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 579s 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). 579s 579s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 579s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AmjmNd/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 579s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 579s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 579s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 579s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 579s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 579s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 579s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 579s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 579s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 579s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 579s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 579s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 579s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 579s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 579s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 579s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 579s Warning: Could not find accesskey for key.accesskey 579s 579s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 579s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 579s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 579s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 579s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 579s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AmjmNd/autopkgtest_tmp/tests/translate/convert/test.idml'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 579s Warning: unclosed file <_io.BufferedReader name='translation.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 579s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 579s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 579s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 579s Warning: Could not find accesskey for prop.accesskey 579s 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 579s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 579s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 579s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 579s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 579s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 579s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 579s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 579s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 579s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 579s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 579s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AmjmNd/autopkgtest_tmp/tests/translate/convert/test.odt'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 579s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 579s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 579s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 579s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 579s Enable tracemalloc to get traceback where the object was allocated. 579s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 579s 579s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 579s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 579s 579s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 579s Warning: DTD file '' does not validate 579s 579s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 579s --------------------------- snapshot report summary ---------------------------- 579s 23 snapshots passed. 579s =========================== short test summary info ============================ 579s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 579s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 579s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 579s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 579s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 579s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 579s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 579s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 579s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 579s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 579s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 579s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 579s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 579s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 579s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 579s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 579s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 579s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 579s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 579s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 579s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 579s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 579s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 579s 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. 579s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 579s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 579s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 579s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 579s 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 579s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 579s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 579s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 579s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 579s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 579s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 579s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 579s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 579s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 579s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 579s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 579s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 579s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 579s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 579s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 579s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 579s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 579s ========== 3254 passed, 22 skipped, 39 xfailed, 47 warnings in 16.84s ========== 580s autopkgtest [18:24:30]: test python3-translate: -----------------------] 580s autopkgtest [18:24:30]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 580s python3-translate PASS 581s autopkgtest [18:24:31]: test python3-translate-commands: preparing testbed 582s Reading package lists... 582s Building dependency tree... 582s Reading state information... 583s Starting pkgProblemResolver with broken count: 0 583s Starting 2 pkgProblemResolver with broken count: 0 583s Done 583s The following additional packages will be installed: 583s translate-toolkit 583s Recommended packages: 583s translate-toolkit-doc 583s The following NEW packages will be installed: 583s autopkgtest-satdep translate-toolkit 583s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 583s Need to get 88.2 kB/89.1 kB of archives. 583s After this operation, 253 kB of additional disk space will be used. 583s Get:1 /tmp/autopkgtest.AmjmNd/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [884 B] 583s Get:2 http://ftpmaster.internal/ubuntu noble/universe s390x translate-toolkit all 3.12.2-1 [88.2 kB] 584s Fetched 88.2 kB in 0s (265 kB/s) 584s Selecting previously unselected package translate-toolkit. 584s (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 ... 55125 files and directories currently installed.) 584s Preparing to unpack .../translate-toolkit_3.12.2-1_all.deb ... 584s Unpacking translate-toolkit (3.12.2-1) ... 584s Selecting previously unselected package autopkgtest-satdep. 584s Preparing to unpack .../3-autopkgtest-satdep.deb ... 584s Unpacking autopkgtest-satdep (0) ... 584s Setting up translate-toolkit (3.12.2-1) ... 584s Setting up autopkgtest-satdep (0) ... 584s Processing triggers for man-db (2.12.0-3) ... 586s (Reading database ... 55298 files and directories currently installed.) 586s Removing autopkgtest-satdep (0) ... 587s autopkgtest [18:24:37]: test python3-translate-commands: [----------------------- 587s ============================= test session starts ============================== 587s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 587s cachedir: .pytest_cache 587s rootdir: /tmp/autopkgtest.AmjmNd/autopkgtest_tmp 587s plugins: syrupy-4.6.1 594s collecting ... collected 3313 items / 2 skipped 594s 594s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 594s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 594s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 594s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 594s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 594s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 594s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 594s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 594s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 594s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 594s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 594s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 594s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 594s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 6%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 6%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 594s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 594s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 594s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 594s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 594s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 594s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 594s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 594s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 594s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 594s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 594s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 594s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 594s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 594s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 594s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 594s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 594s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 594s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 594s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 594s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 595s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 595s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 595s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 595s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 13%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 595s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 595s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 595s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 15%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 15%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 595s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 595s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 595s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 16%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 595s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 595s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 595s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 595s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 595s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 595s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 595s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 17%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 595s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 595s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 595s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 596s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 596s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 596s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 596s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 596s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 22%] 596s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 22%] 596s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 22%] 596s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 596s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 23%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 23%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 23%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] 596s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 596s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 24%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 24%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 24%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] 596s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 596s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 596s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 596s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 596s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 596s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 596s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 596s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 597s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 597s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 597s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 597s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 597s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 597s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 597s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 597s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 29%] 597s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 29%] 597s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 29%] 597s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 597s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 597s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 597s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 597s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 597s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 31%] 597s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 31%] 597s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 31%] 597s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 31%] 597s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 597s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 597s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 597s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 597s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 597s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 33%] 597s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_escapes PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_newlines PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_tabs PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 598s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 598s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 598s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 598s tests/translate/filters/test_checks.py::test_validchars PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 598s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 598s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 598s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 598s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 598s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 598s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 598s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 598s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 598s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 598s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 598s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 598s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 598s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 598s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 598s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 598s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 598s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 598s tests/translate/lang/test_common.py::test_characters PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_words PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 37%] 598s tests/translate/lang/test_common.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_capsstart PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_numstart PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] 598s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 598s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 598s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 598s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 598s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 598s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 598s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 598s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 598s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 598s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 598s tests/translate/lang/test_ne.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 38%] 598s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 38%] 598s tests/translate/lang/test_or.py::test_country_code PASSED [ 38%] 598s tests/translate/lang/test_or.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] 598s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] 598s tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] 598s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 598s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 598s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 598s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 598s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 598s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 598s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 598s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 598s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 598s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 598s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 598s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 598s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 598s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 598s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 598s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 39%] 598s tests/translate/misc/test_quote.py::test_find_all PASSED [ 39%] 598s tests/translate/misc/test_quote.py::test_extract PASSED [ 39%] 598s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 39%] 598s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 39%] 598s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 598s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 598s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 598s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 598s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 598s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 598s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 598s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 598s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 598s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 599s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 44%] 599s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 599s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 599s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 599s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 599s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 599s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 599s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 599s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 599s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 599s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 599s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 599s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 599s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 49%] 599s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 50%] 599s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 50%] 599s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 599s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 51%] 599s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 55%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 56%] 599s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 57%] 599s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 599s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 599s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 599s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 599s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 58%] 599s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 58%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 58%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 58%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 58%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 599s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 599s 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%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 59%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 60%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 599s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 599s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 599s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 599s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 599s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 599s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 599s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 599s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 599s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 61%] 599s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 61%] 599s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 61%] 599s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 599s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 600s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 600s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 65%] 600s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 600s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 600s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 600s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 600s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 67%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 600s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 601s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 601s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 601s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 601s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 601s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 601s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 601s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 69%] 601s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 70%] 601s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 71%] 601s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 72%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 601s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 601s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 601s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 601s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 76%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 601s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 602s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 602s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 602s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 602s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 602s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 602s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 602s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 602s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 602s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 602s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 602s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 602s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 602s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 602s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 602s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 603s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 603s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 603s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 603s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 603s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 603s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 603s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 603s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 603s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 603s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 603s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 603s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 85%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 85%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 85%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 85%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 86%] 603s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 86%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 603s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 87%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 603s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 88%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 603s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars_escapes_roundtrip PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 89%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 603s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 604s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 604s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 90%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 91%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 604s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 604s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 604s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 604s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 92%] 604s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 92%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 604s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 93%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 604s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 604s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 604s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 604s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 604s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 604s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 604s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 604s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 604s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 94%] 605s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 606s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 606s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 606s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 606s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 606s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 606s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 606s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 606s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 606s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 606s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 606s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 95%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 606s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 96%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 606s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 606s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 607s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 607s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 607s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 607s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 607s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 607s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 607s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 607s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 607s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 607s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 607s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 607s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 607s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 607s 607s =============================== warnings summary =============================== 607s ../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 607s 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). 607s 607s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 607s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AmjmNd/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 607s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 607s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 607s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 607s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 607s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 607s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 607s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 607s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 607s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 607s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 607s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 607s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 607s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 607s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 607s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 607s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 607s Warning: Could not find accesskey for key.accesskey 607s 607s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 607s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 607s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 607s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 607s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 607s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AmjmNd/autopkgtest_tmp/tests/translate/convert/test.idml'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 607s Warning: unclosed file <_io.BufferedReader name='translation.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 607s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 607s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 607s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 607s Warning: Could not find accesskey for prop.accesskey 607s 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 607s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 607s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 607s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 607s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 607s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 607s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 607s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 607s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 607s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 607s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 607s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AmjmNd/autopkgtest_tmp/tests/translate/convert/test.odt'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 607s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 607s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 607s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 607s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 607s Enable tracemalloc to get traceback where the object was allocated. 607s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 607s 607s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 607s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 607s 607s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 607s Warning: DTD file '' does not validate 607s 607s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 607s --------------------------- snapshot report summary ---------------------------- 607s 23 snapshots passed. 607s =========================== short test summary info ============================ 607s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 607s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 607s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 607s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 607s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 607s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 607s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 607s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 607s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 607s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 607s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 607s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 607s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 607s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 607s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 607s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 607s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 607s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 607s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 607s 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. 607s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 607s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 607s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 607s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 607s 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 607s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 607s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 607s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 607s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 607s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 607s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 607s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 607s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 607s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 607s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 607s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 607s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 607s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 607s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 607s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 607s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 607s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 607s ========== 3273 passed, 3 skipped, 39 xfailed, 47 warnings in 20.36s =========== 608s autopkgtest [18:24:58]: test python3-translate-commands: -----------------------] 609s autopkgtest [18:24:59]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 609s python3-translate-commands PASS 609s autopkgtest [18:24:59]: @@@@@@@@@@@@@@@@@@@@ summary 609s translate-toolkit PASS 609s python3-translate PASS 609s python3-translate-commands PASS 645s Creating nova instance adt-noble-s390x-translate-toolkit-20240322-181450-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-s390x-server-20240321.img (UUID f7ee8f0f-480f-4014-94f0-3be2a19e259d)... 645s Creating nova instance adt-noble-s390x-translate-toolkit-20240322-181450-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-s390x-server-20240321.img (UUID f7ee8f0f-480f-4014-94f0-3be2a19e259d)...